一步一步学习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 相关文章推荐
PHP网上调查系统
Oct 09 PHP
PHP开发环境配置(MySQL数据库安装图文教程)
Apr 28 PHP
PHP图片处理类 phpThumb参数用法介绍
Mar 11 PHP
php中cookie的使用方法
Mar 29 PHP
php实现的DateDiff和DateAdd时间函数代码分享
Aug 16 PHP
PHP中Header使用的HTTP协议及常用方法小结
Nov 04 PHP
PHP 绘制网站登录首页图片验证码
Apr 12 PHP
Yii2实现中国省市区三级联动实例
Feb 08 PHP
php 截取GBK文档某个位置开始的n个字符方法
Mar 08 PHP
php 一维数组的循环遍历实现代码
Apr 10 PHP
PHP 实现浏览记录并按日期分组
May 11 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
Dec 01 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 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
2012/12/07 PHP
php 判断服务器操作系统的类型
2014/02/17 PHP
jQuery 1.3 和 Validation 验证插件1.5.1
2009/07/09 Javascript
jquery下jstree简单应用 - v1.0
2011/04/14 Javascript
js防止表单重复提交实现代码
2012/09/05 Javascript
jQuery对象初始化的传参方式
2015/02/26 Javascript
jquery 判断div show的状态实例
2016/12/03 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
如何更好的编写js async函数
2018/05/13 Javascript
layui+jquery支持IE8的表格分页方法
2019/09/28 jQuery
npm全局环境变量配置详解
2020/12/15 Javascript
如何在Python函数执行前后增加额外的行为
2016/10/20 Python
Python实现霍夫圆和椭圆变换代码详解
2018/01/12 Python
Python网络编程之TCP与UDP协议套接字用法示例
2018/02/02 Python
python处理大日志文件
2019/07/23 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
python rsync服务器之间文件夹同步脚本
2019/08/29 Python
详解Python3 pandas.merge用法
2019/09/05 Python
windows环境中利用celery实现简单任务队列过程解析
2019/11/29 Python
Pytorch GPU显存充足却显示out of memory的解决方式
2020/01/13 Python
解决更改AUTH_USER_MODEL后出现的问题
2020/05/14 Python
巴西儿童时尚购物网站:Dinda
2019/08/14 全球购物
Java工程师面试集锦之Spring框架
2013/06/16 面试题
C#如何调用Word并打开一个Word文档
2013/05/08 面试题
餐饮业创业计划书范文
2014/01/06 职场文书
军训自我鉴定100字
2014/02/13 职场文书
预备党员自我批评思想汇报
2014/10/10 职场文书
银行职员工作失误检讨书
2014/10/14 职场文书
党的群众路线教育实践活动心得体会(医院)
2014/11/03 职场文书
1000字打架检讨书
2014/11/03 职场文书
趣味运动会开幕词
2015/01/28 职场文书
运动会广播稿200字
2015/08/19 职场文书
小学数学教师研修日志
2015/11/13 职场文书
python通配符之glob模块的使用详解
2021/04/24 Python
JS中一些高效的魔法运算符总结
2021/05/06 Javascript
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python