List and Each in PHP
Sometimes it is very convienent way to do the continual assign,
ruby:
1 a,b,c,d = 1, 2, 3, 4;
php:
1 list($width, $height, $type, $attr) = getImageSize($img);
list() only works on base of a number indexed array, we can use empty variable to
jump over the unwished value, such as:
1 $info = array('coffee', 'brown', 'caffeine');2 list($drink, , $power) = $info;
Extra elements are assigned NULL in list;
Because list need an numbered array to gain values, when there is an hash array, you
need to do some work to get right numbered array, such as array_values or array_keys;
list() construct can be used within other list() constructs, such as
1 $matrix = array(array(1,2), array(3,4));2 list(list($a,$b), list($c, $d)) = $matrix;
List also can be used to swap values between variables without using an intermediary,
such as:
1 list($big, $small) = array($small, $big)
this can be done no mater how many variables there are. In ruby we do it just on this
simply way
1 a, b = b, a;
Each>>>>>>>>>>>>>>>>>>>>>>>>
Each() iterate an array key=>value, return an 4 sized array, using 0 and key to refer
original key, using 1 and value to refer original value.
You have to use reset before you begin iterator an array or after you finish iterate in
order to make the array pointer reset to the 0th element in array.
Usually each and list are combined to iterate an array in turns untill there are no
elements anymore. such as:
1 $fruit = array('a'=>'apple', 'b'=>'banana', 'c'=>'cranberry');2 reset($fruit);3 while(list($key, $val) = each($fruit))4 {5 echo "$key => $value\n";6 }
上一篇: 七牛云存储 - PHP-sdk获取不到列表文件,请问怎么解决?
下一篇: 给OT用户的建议
推荐阅读
-
php用什么软件比较好(php一般用的开发工具)
-
详解Jquery 遍历数组之$().each方法与$.each()方法介绍
-
phpeclipse运行php文件(eclipse php环境搭建)
-
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
-
PHP字符串函数系列之nl2br(),在字符串中的每个新行 ( ) 之前插入 HTML 换行符br
-
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
-
php 将字符串按大写字母分隔成字符串数组
-
Notice: Undefined index: page in E:PHP est.php on line 14
-
30 个很棒的PHP开源CMS内容管理系统小结
-
php 仿Comsenz安装效果代码打包提供下载