一步一步学习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 相关文章推荐
图象函数中的中文显示
Oct 09 PHP
网站用php实现paypal整合方法
Nov 28 PHP
PHP中使用memcache存储session的三种配置方法
Apr 05 PHP
PHP原生函数一定好吗?
Dec 08 PHP
php递归创建目录的方法
Feb 02 PHP
PHP准确取得服务器IP地址的方法
Jun 02 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
Dec 24 PHP
PHP对象实例化单例方法
Jan 19 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
laravel 模型查询按照whereIn排序的示例
Oct 16 PHP
PHP const定义常量及global定义全局常量实例解析
May 28 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类
2006/11/27 PHP
CI框架中site_url()和base_url()的区别
2015/01/07 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
2015/07/02 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
jquery移动listbox的值原理及代码
2013/05/03 Javascript
jQuery模拟点击A标记示例参考
2014/04/17 Javascript
javascript移动设备Web开发中对touch事件的封装实例
2014/06/05 Javascript
JavaScript将数字转换成大写中文的方法
2015/03/23 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
2015/04/15 Javascript
jquery简单实现网页层的展开与收缩效果
2015/08/07 Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
2016/07/28 Javascript
node.js学习之base64编码解码
2016/10/21 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
详解vue-router 命名路由和命名视图
2018/06/01 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
2019/11/07 Javascript
[59:32]Liquid vs Fnatic 2019国际邀请赛淘汰赛败者组BO1 8.20.mp4
2020/07/19 DOTA
python搜索指定目录的方法
2015/04/29 Python
DataFrame:通过SparkSql将scala类转为DataFrame的方法
2019/01/29 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
如何利用Python模拟GitHub登录详解
2019/07/15 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
Tech21美国/加拿大:英国NO.1防摔保护壳品牌
2018/01/20 全球购物
彪马西班牙官网:PUMA西班牙
2019/06/18 全球购物
惠而浦美国官网:Whirlpool.com
2021/01/19 全球购物
模具专业推荐信
2013/10/30 职场文书
大学班长的职责
2014/01/27 职场文书
推普周活动总结
2014/08/28 职场文书
学雷锋献爱心倡议书
2015/04/27 职场文书
奖励申请报告范文
2015/05/15 职场文书
单位证明范文
2015/06/18 职场文书
圣诞晚会主持词
2015/07/01 职场文书
python使用pygame创建精灵Sprite
2021/04/06 Python
golang的文件创建及读写操作
2022/04/14 Golang