PHP中each与list用法分析


Posted in PHP onJanuary 08, 2016

本文实例分析了PHP中each与list用法。分享给大家供大家参考,具体如下:

1.each的用法

先看API

array each ( array &$array )

api里是这么描述的:each — 返回数组中当前的键/值对并将数组指针向前移动一步

我们先来看看返回的数组是怎么样的?

<?php 
$arr = array('你','若','安','好','便','是','晴','天');
print_r(each($arr));
print_r(each($arr));
echo '<hr />';
/*
返回
Array
(
  [1] => 你
  [value] => 你
  [0] => 0
  [key] => 0
)
Array
(
  [1] => 若
  [value] => 若
  [0] => 1
  [key] => 1
)
*/
//执行相同的一段代码,从‘你'到‘若',说明each是会每执行一次,游标向数组尾部移动一步
//0和Key存放的是键
//1和value存放的是值
//因此each满足遍历数组的,得到当前的键和值,以及每执行一次,向尾部移动一步游标
//因此循环数组也可以用each这么写
reset($arr);
for(;$tmp=each($arr);){
  echo $tmp[0],'~',$tmp[1],'<br />';
}
/*
返回
0~你
1~若
2~安
3~好
4~便
5~是
6~晴
7~天
*/
?>

2.list的用法

先看api是怎么说的

像 array() 一样,这不是真正的函数,而是语言结构。list()用一步操作给一组变量进行赋值

来看一个例子:

<?php 
list($a,$b)=array(10,20);
echo $a,'~',$b,'<br />';
//返回10~20
?>

没错可以给一组变量赋值

再来看另外一个例子:

<?php 
list($a,$b,,$c)=array(2=>10,3=>20,4=>30,1=>40);
echo $a,'~',$b,'~',$c,'<br />';
//返回notice~40~20
//执行到$a的时候返回给我一个notice:说数组没有0键
?>

按照一般的想法应该会返回:10~20~40

为什么会返回这个notice~40~20呢?

答:这涉及到list的运行机制,list是这么赋值的

首先:不要管右边的数组,看List里面的变量,从左到右应该是  $a = arr[0]   $b=arr[1]  $c=arr[3]

然后:从右到左开始赋值,赋值的顺序是 $c=arr[3]  $b=arr[1]  $a=arr[0]

所以$c=20  $b = 40  因为没有arr[0],所以$a给了一个警告

3.用each和list实现数组的遍历

<?php 
$arr = array('你','若','安','好','便','是','晴','天');
for(;list($k,$v)=each($arr);){
  echo $k,'~',$v,'<br />';
}
/*
return:
0~你
1~若
2~安
3~好
4~便
5~是
6~晴
7~天
*/
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
帖几个PHP的无限分类实现想法~
Jan 02 PHP
处理单名多值表单的详解
Jun 08 PHP
php实现俄罗斯乘法实例
Mar 07 PHP
PHP读取txt文本文件并分页显示的方法
Mar 11 PHP
将PHP的session数据存储到数据库中的代码实例
Jun 24 PHP
Yii中CGridView禁止列排序的设置方法
Jul 12 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
Sep 19 PHP
PHP生成图片验证码功能示例
Jan 12 PHP
PHP使用数组实现矩阵数学运算的方法示例
May 29 PHP
PHP使用两个栈实现队列功能的方法
Jan 15 PHP
PHP数组去重的更快实现方式分析
May 09 PHP
PHP pthreads v3使用中的一些坑和注意点分析
Feb 21 PHP
PHP中list()函数用法实例简析
Jan 08 #PHP
PHP图像裁剪缩略裁切类源码及使用方法
Jan 07 #PHP
PHP中substr_count()函数获取子字符串出现次数的方法
Jan 07 #PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
Jan 07 #PHP
详解WordPress开发中wp_title()函数的用法
Jan 07 #PHP
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
Jan 07 #PHP
PHP编程基本语法快速入门手册
Jan 07 #PHP
You might like
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
thinkPHP中_initialize方法实例分析
2016/12/05 PHP
php生成0~1随机小数的方法(必看)
2017/04/05 PHP
PHP实现的堆排序算法详解
2017/08/17 PHP
php图片合成方法(多张图片合成一张)
2017/11/25 PHP
取选中的radio的值
2010/01/11 Javascript
自动刷新网页,自动刷新当前页面,JS调用
2013/06/24 Javascript
原生JavaScript实现合并多个数组示例
2014/09/21 Javascript
javascript求日期差的方法
2016/03/02 Javascript
js仿腾讯QQ的web登陆界面
2016/08/19 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
javascript 操作cookies详解及实例
2017/02/22 Javascript
jQuery导航条固定定位效果实例代码
2017/05/26 jQuery
js捆绑TypeScript声明文件的方法教程
2018/04/13 Javascript
使用angularjs.foreach时return的问题解决
2018/09/30 Javascript
解决eclipse中没有js代码提示的问题
2018/10/10 Javascript
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
[01:06:25]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python常用列表数据结构小结
2014/08/06 Python
跟老齐学Python之list和str比较
2014/09/20 Python
Python连接mysql数据库的正确姿势
2016/02/03 Python
Windows 7下Python Web环境搭建图文教程
2018/03/20 Python
python针对不定分隔符切割提取字符串的方法
2018/10/26 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
2018/12/03 Python
python实现三次样条插值
2018/12/17 Python
使用Python批量修改文件名的代码实例
2019/01/24 Python
Opencv实现抠图背景图替换功能
2019/05/21 Python
python UDP(udp)协议发送和接收的实例
2019/07/22 Python
pymysql 插入数据 转义处理方式
2020/03/02 Python
收集的7个CSS3代码生成工具
2010/04/17 HTML / CSS
查找廉价航班和发现新目的地:Kiwi.com
2019/02/25 全球购物
经典安踏广告词
2014/03/21 职场文书
客户答谢会致辞
2015/01/20 职场文书
中考学习决心书
2015/02/04 职场文书
喋血孤城观后感
2015/06/08 职场文书
铁人纪念馆观后感
2015/06/16 职场文书