一步一步学习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产生随机字符串函数
Dec 06 PHP
Linux下进行MYSQL编程时插入中文乱码的解决方案
Mar 15 PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
Jun 13 PHP
解决File size limit exceeded 错误的方法
Jun 14 PHP
九个你必须知道而且又很好用的php函数和特点
Aug 08 PHP
让PHP显示Facebook的粉丝数量方法
Jan 08 PHP
php使用Jpgraph绘制3D饼状图的方法
Jun 10 PHP
PHP实现的简单异常处理类示例
May 04 PHP
PHP多维数组排序array详解
Nov 21 PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
Apr 08 PHP
PHP curl批处理及多请求并发实现方法分析
Aug 15 PHP
php文件上传原理与实现方法详解
Dec 20 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
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
2006/10/09 PHP
ThinkPHP3.1查询语言详解
2014/06/19 PHP
Zend Framework开发入门经典教程
2016/03/23 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
laravel 解决强制跳转 https的问题
2019/10/22 PHP
JS拖动技术 关于setCapture使用
2010/12/09 Javascript
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
js的匿名函数使用介绍
2013/12/11 Javascript
DEDECMS如何为文章添加HOT NEW标志图片
2015/08/14 Javascript
Bootstrap 粘页脚效果
2016/03/28 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
2016/10/31 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
JavaScript中set与get方法用法示例
2018/08/15 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
2019/12/12 Javascript
Python读取视频的两种方法(imageio和cv2)
2018/04/15 Python
tensorflow学习教程之文本分类详析
2018/08/07 Python
命令行运行Python脚本时传入参数的三种方式详解
2019/10/11 Python
python计算Content-MD5并获取文件的Content-MD5值方式
2020/04/03 Python
python 动态渲染 mysql 配置文件的示例
2020/11/20 Python
css3实现背景图片拉伸效果像桌面壁纸一样
2013/08/19 HTML / CSS
基于HTML5 FileSystem API的使用介绍
2013/04/24 HTML / CSS
ZINVO手表官网:男士和女士手表
2019/03/10 全球购物
两道JAVA笔试题
2016/09/14 面试题
生物技术专业毕业生求职信范文
2013/12/14 职场文书
毕业生个人求职信范例分享
2013/12/17 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
汽车技术服务与贸易专业求职信
2014/07/20 职场文书
公司合作意向书范文
2014/07/30 职场文书
群众路线对照检查材料
2014/09/22 职场文书
先进班集体申报材料
2014/12/26 职场文书
写给老师的感谢信
2015/01/20 职场文书
天堂的孩子观后感
2015/06/11 职场文书
格林童话读书笔记
2015/06/30 职场文书
小学同学聚会感言
2015/07/30 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
聊一聊Redis与MySQL双写一致性如何保证
2021/06/26 Redis