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 移除数组重复元素的一点说明
Nov 27 PHP
PHP 文件扩展名 获取函数
Jun 03 PHP
PHP foreach循环使用详解与实例代码
May 08 PHP
用php随机生成福彩双色球号码的2种方法
Feb 04 PHP
基于php设计模式中单例模式的应用分析
May 15 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
Jun 20 PHP
php生成百度sitemap站点地图类函数实例
Oct 17 PHP
php两种无限分类方法实例
Apr 21 PHP
PHP实现执行外部程序的方法详解
Aug 17 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
PHP中一个有趣的preg_replace函数详解
Aug 15 PHP
PHP xpath提取网页数据内容代码解析
Jul 16 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内核探索:变量存储与类型使用说明
2014/01/30 PHP
thinkphp多层MVC用法分析
2015/12/30 PHP
利用PHP实现一个简单的用户登记表示例
2017/04/25 PHP
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
2011/01/12 Javascript
将json当数据库一样操作的javascript lib
2013/10/28 Javascript
jquery实现搜索框常见效果的方法
2015/01/22 Javascript
Bootstrap每天必学之媒体对象
2015/11/30 Javascript
JS动态插入并立即执行回调函数的方法
2016/04/21 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
BootStrap实现带有增删改查功能的表格(DEMO详解)
2016/10/26 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
vue组件间通信解析
2017/03/01 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
vue.js在标签属性中插入变量参数的方法
2018/03/06 Javascript
详解处理bootstrap4不支持远程静态框问题
2018/07/20 Javascript
使用Jenkins部署React项目的方法步骤
2019/03/11 Javascript
vue路由教程之静态路由
2019/09/03 Javascript
使用graphics.py实现2048小游戏
2015/03/10 Python
在Python中处理XML的教程
2015/04/29 Python
在Django中创建动态视图的教程
2015/07/15 Python
浅谈django orm 优化
2018/08/18 Python
python3中使用__slots__限定实例属性操作分析
2020/02/14 Python
Python 解决相对路径问题:&quot;No such file or directory&quot;
2020/06/05 Python
python怎么判断素数
2020/07/01 Python
html5 移动端视频video的android兼容(去除播放控件、全屏)
2020/03/26 HTML / CSS
美国皮靴公司自1863年:The Frye Company
2016/11/30 全球购物
有趣的睡衣和礼物:LazyOne
2019/11/27 全球购物
品恩科技软件测试面试题
2014/10/26 面试题
大一学生职业生涯规划
2014/03/11 职场文书
企业职业病防治方案
2014/05/29 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
2014年污水处理厂工作总结
2014/12/19 职场文书
自荐信格式范文
2015/03/04 职场文书
发工资啦!教你用Python实现邮箱自动群发工资条
2021/05/10 Python
Golang gRPC HTTP协议转换示例
2022/06/16 Golang