一步一步学习PHP(8) php 数组


Posted in PHP onMarch 05, 2010

1. PHP中的数组
与其把PHP中的数组理解为我们狭义上的“数组”,我觉得还不妨把这个数组一分为二,一者为我们常规上的数组,一者为我们的Dictionary。
2. 创建数组
如果数组不存在,那么向数组中存放值将会创建数组。

<?php 
$address[0]='北京'; 
$address[1]='上海'; 
$address[2]='南京'; 
$introduce['北京']='首都'; 
$introduce['上海']='国际大都市'; 
$introduce['南京']='不了解了'; 
?>

还有一种较为正统的方法,使用array()语言结构,这也是我倾向的一种方式:
<?php 
$address=array('北京','上海','南京'); 
$introduce=array('北京'=>'首都', 
'上海'=>'国际大都市', 
'南京'=>'不了解了' 
); 
?>

当然我们还可以用这样的方式创建一个空数组:
<?php 
$nullArray=array(); 
?>

3. 访问数组元素
访问数组元素其实和传统方式一样:
<?php 
$address=array('北京','上海','南京'); 
$introduce=array('北京'=>'首都', 
'上海'=>'国际大都市', 
'南京'=>'不了解了' 
); 
echo($address[1]); 
echo($introduce['上海']); 
?>

4. 遍历数组元素
遍历数组最常用的方式就是foreach,也比较通用。
<?php 
$address=array('北京','上海','南京'); 
$introduce=array('北京'=>'首都', 
'上海'=>'国际大都市', 
'南京'=>'不了解了' 
); 
foreach($address as $value) 
{ 
echo($value.'<br/>'); 
} 
foreach($introduce as $key=>$value) 
{ 
echo("$key => $value <br/>"); 
} 
?>

foreach遍历数组很容易,但是他有一个缺点,就是他并不是直接操作原数组,而是在遍历前先复制一份原数组的拷贝,这样就造成了时间和空间上的浪费。
那么有个简单的方法,就是for。
<?php 
$address=array('北京','上海','南京'); 
$introduce=array('北京'=>'首都', 
'上海'=>'国际大都市', 
'南京'=>'不了解了' 
); 
for($i=0;$i<count($address);$i++) 
{ 
echo("$address[$i]<br/>"); 
} 
?>

这个虽然简单,但是也有缺点,就是只可以遍历索引数组,没有办法遍历字典。
于是,在PHP中提出了迭代器函数。
其中最常用的就是each()函数。看个简单的例子吧:
<?php 
$introduce=array('城市名'=>'介绍', 
'北京'=>'首都', 
'上海'=>'国际大都市', 
'南京'=>'不了解了' 
); 
reset($introduce); 
echo('<table>'); 
while(list($city,$intro)=each($introduce)) 
{ 
echo("<tr><td>$city</td><td>$intro</td>"); 
} 
echo('</table>'); 
?>

一步一步学习PHP(8) php 数组 
做个解释,each()函数用于遍历数组元素,类似于我们在常规意义上的迭代器。而且使用迭代函数的最大好处是并不会像foreach语言结构一样产生一个原数组的拷贝,在处理大数组时是很有用的。
PHP 相关文章推荐
完美解决dedecms中的[html][/html]和[code][/code]问题
Mar 20 PHP
PHP5中使用DOM控制XML实现代码
May 07 PHP
采用ThinkPHP中F方法实现快速缓存实例
Jun 13 PHP
php实现复制移动文件的方法
Jul 29 PHP
3种方法轻松处理php开发中emoji表情的问题
Jul 18 PHP
php表单习惯用的正则表达式
Oct 11 PHP
使用Zookeeper分布式部署PHP应用程序
Mar 15 PHP
PHP钩子实现方法解析
May 21 PHP
Laravel框架实现的上传图片到七牛功能详解
Sep 06 PHP
Yii框架getter与setter方法功能与用法分析
Oct 22 PHP
laravel清除视图缓存的代码
Oct 23 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
Jun 06 PHP
一步一步学习PHP(7) php 字符串相关应用
Mar 05 #PHP
PHP 创建文件(文件夹)以及目录操作代码
Mar 04 #PHP
php &amp;&amp; 逻辑与运算符使用说明
Mar 04 #PHP
PHP MVC模式在网站架构中的实现分析
Mar 04 #PHP
通用PHP动态生成静态HTML网页的代码
Mar 04 #PHP
php绝对路径与相对路径之间关系的的分析
Mar 03 #PHP
PHP开发中常用的三个表单验证函数使用小结
Mar 03 #PHP
You might like
PHP中的session永不过期的解决思路及实现方法分享
2011/04/20 PHP
php发送http请求的常用方法分析
2016/11/08 PHP
PHP 扩展Memcached命令用法实例总结
2020/06/04 PHP
让任务管理器中的CPU跳舞的js代码
2008/11/01 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
简单的jquery拖拽排序效果实现代码
2011/09/20 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
2013/03/25 Javascript
js中哈希表的几种用法总结
2014/01/28 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
JavaScript提高网站性能优化的建议(二)
2016/07/24 Javascript
深入学习 JavaScript中的函数调用
2017/03/23 Javascript
AngularJS之自定义服务详解(factory、service、provider)
2017/04/14 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
jquery实现简单自动轮播图效果
2020/07/29 jQuery
Python读写Excel文件方法介绍
2014/11/22 Python
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
关于python的list相关知识(推荐)
2017/08/30 Python
Python编程django实现同一个ip十分钟内只能注册一次
2017/11/03 Python
python 构造三维全零数组的方法
2018/11/12 Python
vue常用指令代码实例总结
2020/03/16 Python
python argparse传入布尔参数false不生效的解决
2020/04/20 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
thinkphp5 路由分发原理
2021/03/18 PHP
Nordgreen英国官网:斯堪的纳维亚设计师手表
2018/10/24 全球购物
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
估算杭州有多少软件工程师
2015/08/11 面试题
课改先进个人汇报材料
2014/01/26 职场文书
遗嘱继承公证书
2014/04/09 职场文书
《鹬蚌相争》教学反思
2014/04/22 职场文书
三好生演讲稿
2014/09/12 职场文书
感谢信格式范文
2015/01/22 职场文书
学期个人自我总结
2015/02/13 职场文书
酒店工程部主管岗位职责
2015/04/16 职场文书
小学体育跳绳课教学反思
2016/02/16 职场文书
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫