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 和 XML: 使用expat函数(一)
Oct 09 PHP
一个PHP的QRcode类与大家分享
Nov 13 PHP
php从右向左/从左向右截取字符串的实现方法
Nov 28 PHP
探讨如何在PHP开启gzip页面压缩实例
Jun 09 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
Sep 22 PHP
详谈PHP文件目录基础操作
Nov 11 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
Jul 28 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
Jan 07 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
Feb 15 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
Aug 04 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
Oct 08 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
Oct 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入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
2011/07/14 PHP
php检测文本的编码
2015/07/26 PHP
php类的自动加载操作实例详解
2016/09/28 PHP
Laravel 将数据表的数据导出,并生成seeds种子文件的方法
2019/10/09 PHP
JQuery 操作select标签实现代码
2010/05/14 Javascript
jQuery通过写入cookie实现更换网页背景的方法
2016/04/15 Javascript
深入理解jQuery layui分页控件的使用
2016/08/17 Javascript
input输入密码变黑点密文的实现方法
2017/01/09 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
JavaScript和JQuery获取DIV值的方法示例
2017/03/07 Javascript
如何编写jquery插件
2017/03/29 jQuery
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
vue的基本用法与常见指令
2017/08/15 Javascript
vue 1.x 交互实现仿百度下拉列表示例
2017/10/21 Javascript
node puppeteer(headless chrome)实现网站登录
2018/05/09 Javascript
详解vue2.0+axios+mock+axios-mock+adapter实现登陆
2018/07/19 Javascript
vue-router传递参数的几种方式实例详解
2018/11/13 Javascript
实例讲解JavaScript预编译流程
2019/01/24 Javascript
element-ui组件table实现自定义筛选功能的示例代码
2019/03/15 Javascript
在layui中select更改后生效的方法
2019/09/05 Javascript
JavaScript工具库MyTools详解
2020/01/01 Javascript
jquery实现手风琴案例
2020/05/04 jQuery
[07:20]2018DOTA2国际邀请赛寻真——逐梦Mineski
2018/08/10 DOTA
Django框架的使用教程路由请求响应的方法
2018/07/03 Python
Python enumerate函数功能与用法示例
2019/03/01 Python
Python range、enumerate和zip函数用法详解
2019/09/11 Python
在Sublime Editor中配置Python环境的详细教程
2020/05/03 Python
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
Timberland俄罗斯官方网上商店:全球领先的户外品牌
2020/03/15 全球购物
护理专业毕业生推荐信
2013/10/31 职场文书
便利店促销方案
2014/02/20 职场文书
领导班子群众路线与四风问题对照检查材料思想汇报
2014/10/11 职场文书
合作协议书范本
2014/10/25 职场文书
财务部岗位职责
2015/02/03 职场文书
Python基于百度AI实现抓取表情包
2021/06/27 Python