一步一步学习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
table标签的结构与合并单元格的实现方法
Jul 24 PHP
php 下载保存文件保存到本地的两种实现方法
Aug 12 PHP
php 判断是否是中文/英文/数字示例代码
Sep 30 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
Apr 18 PHP
php实现mysql备份恢复分卷处理的方法
Dec 26 PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 PHP
WHOOPS PHP调试库的使用
Sep 29 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
php中curl和soap方式请求服务超时问题的解决
Jun 11 PHP
thinkphp5框架实现的自定义扩展类操作示例
May 16 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
Apr 13 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中使用smarty生成静态文件的例子
2014/04/24 PHP
php实现给图片加灰色半透明效果的方法
2014/10/20 PHP
ThinkPHP里用U方法调用js文件实例
2015/06/18 PHP
PHP中如何使用Redis接管文件存储Session详解
2018/11/28 PHP
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
2007/01/16 Javascript
jquery 新手学习常见问题解决方法
2010/04/18 Javascript
jquery中dom操作和事件的实例学习 仿yahoo邮箱登录框的提示效果
2011/11/30 Javascript
Javascript玩转继承(三)
2014/05/08 Javascript
jQuery实现的多屏图像图层切换效果实例
2015/05/07 Javascript
JS实现图片剪裁并预览效果
2016/08/12 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
js实现以最简单的方式将数组元素添加到对象中的方法
2017/12/20 Javascript
利用Promise自定义一个GET请求的函数示例代码
2019/03/20 Javascript
Vue实现验证码功能
2019/12/03 Javascript
浅谈vue生命周期共有几个阶段?分别是什么?
2020/08/07 Javascript
JS创建自定义对象的六种方法总结
2020/12/15 Javascript
JavaScript点击按钮生成4位随机验证码
2021/01/28 Javascript
实例讲解Python中的私有属性
2014/08/21 Python
Python中将字典转换为列表的方法
2016/09/21 Python
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
Python实现的插入排序算法原理与用法实例分析
2017/11/22 Python
python实现堆和索引堆的代码示例
2018/03/19 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
使用Python实现从各个子文件夹中复制指定文件的方法
2018/10/25 Python
Python小进度条显示代码
2019/03/05 Python
Django 开发环境配置过程详解
2019/07/18 Python
在PyCharm中实现添加快捷模块
2020/02/12 Python
详解Scrapy Redis入门实战
2020/11/18 Python
Hoover胡佛官网:美国吸尘器和洗地机品牌
2019/01/09 全球购物
搬家公司的创业计划书
2014/01/01 职场文书
求职自荐信怎么写
2014/03/06 职场文书
英语专业毕业生求职信
2014/05/24 职场文书
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android
一文搞懂Python Sklearn库使用
2021/08/23 Python
Java生成日期时间存入Mysql数据库的实现方法
2022/03/03 Java/Android