一步一步学习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 相关文章推荐
深入file_get_contents函数抓取内容失败的原因分析
Jun 25 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
Sep 30 PHP
Smarty变量调节器失效的解决办法
Aug 20 PHP
smarty内部日期函数html_select_date()用法实例分析
Jul 08 PHP
php similar_text()函数的定义和用法
May 12 PHP
php 输入输出流详解及示例代码
Aug 25 PHP
php分页原理 分页代码 分页类制作教程
Sep 23 PHP
php使用正则表达式去掉html中的注释方法
Nov 03 PHP
php微信公众号开发(4)php实现自定义关键字回复
Dec 15 PHP
可兼容php5与php7的cURL文件上传功能实例分析
May 11 PHP
Laravel定时任务的每秒执行代码
Oct 22 PHP
PHP7变量处理机制修改
Mar 09 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
ThinkPHP验证码使用简明教程
2014/03/05 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
2014/11/19 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
Javascript 键盘事件的组合使用实现代码
2012/05/04 Javascript
js iframe跨域访问(同主域/非同主域)分别深入介绍
2013/01/24 Javascript
javascript实现根据身份证号读取相关信息
2014/12/17 Javascript
jQuery实现的简单分页示例
2016/06/01 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
Angular2仿照微信UI实现9张图片上传和预览的示例代码
2017/10/19 Javascript
使用JS获取SessionStorage的值
2018/01/12 Javascript
vue v-model动态生成详解
2018/06/30 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
深入理解Python中的*重复运算符
2017/10/28 Python
Python3实现带附件的定时发送邮件功能
2020/12/22 Python
django传值给模板, 再用JS接收并进行操作的实例
2018/05/28 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
python批量识别图片指定区域文字内容
2019/04/30 Python
python操作kafka实践的示例代码
2019/06/19 Python
使用Python在Windows下获取USB PID&amp;VID的方法
2019/07/02 Python
面向对象学习之pygame坦克大战
2019/09/11 Python
新闻系毕业生推荐信
2013/11/16 职场文书
初一地理教学反思
2014/01/16 职场文书
森林防火工作方案
2014/02/14 职场文书
2014年社区植树节活动方案
2014/02/28 职场文书
优秀经理获奖感言
2014/03/04 职场文书
和解协议书
2014/04/16 职场文书
投资建议书模板
2014/05/12 职场文书
文明家庭先进事迹材料
2014/05/14 职场文书
小学网上祭英烈活动总结
2014/07/05 职场文书
预备党员转正材料
2014/12/19 职场文书
公务员政审材料
2014/12/23 职场文书
幼儿园学前班幼儿评语
2014/12/29 职场文书
2015年教师节主持词
2015/07/03 职场文书
六一亲子活动感想
2015/08/07 职场文书