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抓取页面与代码解析 推荐
Jul 23 PHP
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
Jun 18 PHP
php接口和抽象类使用示例详解
Mar 02 PHP
PHP使用memcache缓存技术提高响应速度的方法
Dec 26 PHP
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
Mar 25 PHP
php对数组内元素进行随机调换的方法
May 12 PHP
Zend Framework教程之资源(Resources)用法实例详解
Mar 14 PHP
PHP实现的统计数据功能详解
Dec 06 PHP
Yii2中简单的场景使用介绍
Jun 02 PHP
PHP示例演示发送邮件给某个邮箱
Apr 03 PHP
laravel实现Auth认证,登录、注册后的页面回跳方法
Sep 30 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
德生S2000电路分析
2021/03/02 无线电
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
获得Google PR值的PHP代码
2007/01/28 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
2014/06/30 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
2017/02/23 PHP
详解关于php的xdebug配置(编辑器vscode)
2019/01/29 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
25个好玩的JavaScript小游戏分享
2011/04/22 Javascript
了不起的node.js读书笔记之node的学习总结
2014/12/22 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
2015/03/03 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
jQuery Mobile操作HTML5的常用函数总结
2016/05/17 Javascript
在html中引入外部js文件,并调用带参函数的方法
2016/10/31 Javascript
jsTree使用记录实例
2016/12/01 Javascript
js数字舍入误差以及解决方法(必看篇)
2017/02/28 Javascript
JS简单实现获取元素的封装操作示例
2017/04/07 Javascript
Node.js中Bootstrap-table的两种分页的实现方法
2017/09/18 Javascript
js+springMVC 提交数组数据到后台的实例
2019/09/21 Javascript
Element Input输入框的使用方法
2020/07/26 Javascript
Python 文件读写操作实例详解
2014/03/12 Python
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
深度定制Python的Flask框架开发环境的一些技巧总结
2016/07/12 Python
matplotlib简介,安装和简单实例代码
2017/12/26 Python
Python实现bilibili时间长度查询的示例代码
2020/01/14 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
使用Keras训练好的.h5模型来测试一个实例
2020/07/06 Python
python中编写函数并调用的知识点总结
2021/01/13 Python
基于HTML5陀螺仪实现ofo首页眼睛移动效果的示例
2017/07/31 HTML / CSS
Pretty You London官网:英国拖鞋和睡衣品牌
2019/05/08 全球购物
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
世界上最大的皮肤科医生拥有和经营的美容网站:LovelySkin
2021/01/03 全球购物
国家机关领导干部民主生活会对照检查材料思想汇报
2014/09/17 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
教师个人培训总结
2015/02/11 职场文书
Win11 22H2 2022怎么更新? 获得Win1122H22022版本升级技巧
2022/09/23 数码科技