一步一步学习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 相关文章推荐
PHP4.04简明安装
Oct 09 PHP
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
Sep 30 PHP
PHP array_push 数组函数
Dec 26 PHP
PHP执行linux系统命令的常用函数使用说明
Apr 27 PHP
PHP中限制IP段访问、禁止IP提交表单的代码
Apr 23 PHP
php通过COM类调用组件的实现代码
Jan 11 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
Apr 25 PHP
codeigniter自带数据库类使用方法说明
Mar 25 PHP
destoon复制新模块的方法
Jun 21 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
Dec 20 PHP
TP5框架实现上传多张图片的方法分析
Mar 29 PHP
php实现商城购物车的思路和源码分析
Jul 23 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
Apache2 httpd.conf 中文版
2006/12/06 PHP
令PHP初学者头疼十四条问题大总结
2008/11/12 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
很可爱的输入框
2008/08/03 Javascript
javascript EXCEL 操作类代码
2009/07/30 Javascript
javascript 24小时弹出一次的代码(利用cookies)
2009/09/03 Javascript
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
2009/11/27 Javascript
一个网马的tips实现分析
2010/11/28 Javascript
谈谈对offsetleft兼容性的理解
2015/11/11 Javascript
VUE axios发送跨域请求需要注意的问题
2017/07/06 Javascript
Angular2里获取(input file)上传文件的内容的方法
2017/09/05 Javascript
Thinkphp5微信小程序获取用户信息接口的实例详解
2017/09/26 Javascript
对vue事件的延迟执行实例讲解
2018/08/28 Javascript
vue-router之nuxt动态路由设置的两种方法小结
2018/09/26 Javascript
vue项目搭建以及全家桶的使用详细教程(小结)
2018/12/19 Javascript
微信小程序公用参数与公用方法用法示例
2019/01/09 Javascript
vue遍历生成的输入框 绑定及修改值示例
2019/10/30 Javascript
react 生命周期实例分析
2020/05/18 Javascript
JS script脚本中async和defer区别详解
2020/06/24 Javascript
JS实现联想、自动补齐国家或地区名称的功能
2020/07/07 Javascript
js实现全选和全不选功能
2020/07/28 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
[02:41]《西雅图我们来了》2015国际邀请赛出征全记录
2015/07/23 DOTA
Python文件右键找不到IDLE打开项解决办法
2015/06/08 Python
python批量制作雷达图的实现方法
2016/07/26 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
2018/05/21 Python
Python生态圈图像格式转换问题(推荐)
2019/12/02 Python
Python中格式化字符串的四种实现
2020/05/26 Python
MoviePy简介及Python视频剪辑自动化
2020/12/18 Python
多重CSS背景动画实现方法示例
2014/04/04 HTML / CSS
html5调用app分享功能示例(WebViewJavascriptBridge)
2018/03/21 HTML / CSS
bonprix荷兰网上商店:便宜的服装、鞋子和家居用品
2020/07/04 全球购物
交通安全演讲稿
2014/01/07 职场文书
入党转预备思想汇报
2014/01/07 职场文书
培训师岗位职责
2015/02/14 职场文书
公司清洁工岗位职责
2015/04/15 职场文书