知识大全 php中遍历数组方法
Posted 索引
篇首语:读书贵神解,无事守章句。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 php中遍历数组方法相关的知识,希望对你有一定的参考价值。
遍历数组有多种实现方法
连续索引的数组
实现连续数组的遍历很简单 因为数组的索引是连续的( ……) 所以我们可以首先用count()函数计算出数组中元素的个数 然后建立一个for循环 如下
$subject=array("maths" "english" "physics");
$num_elements=count($subject); //这时$num_elements的值为
for ($i= ;$i<$num_elements; ++$i)
echo ("$subject[$i]
n");
结果为
maths
english
physics
这里我们给$i赋了初值为 是因为数组元素的索引默认为 如果第一个元素的索引不为 我们只需
$subject=array( =>"maths" "english" "physics");
$num_elements=count($subject)+ ; //注意这里
for ($i= ;$i<$num_elements; ++$i)
echo ("$subject[$i]
n");
这里将$i赋了值 同时$num_elements=count($subject)+ 这里很容易被忽视
非连续索引的数组
$subject=array("m"=>"maths" "e"=>"english" "p"=>"physics");
这里建立了一个了数组 索引值分别为"m" "e " "p" 这样的数组怎么遍历?
方法一 使用list()和each()函数组合
$subject=array("m"=>"maths" "e"=>"english" "p"=>"physics");
reset($subject); //把指针复位到第一个元素上
while (list($key $value)=each($subject))
echo "$key is $value
n";
方法二 使用foreach语句
$subject=array("m"=>"maths" "e"=>"english" "p"=>"physics");
foreach($subject as $key => $value)
echo "$key is $value
n";
?>
是不是比list()和each()简单
foreach 与 list() each()组合的不同之处
foreach 是在原来数组的拷贝上执行操作的 他的优点是不会影响当前数组指针的位置 缺点是对于一个很大的数组 复制所花的时间很长
list() each()组合 很明显用他遍历 之后 指针的位置改变了
方法三 使用array_walk()函数遍历数组
array_walk()是让使用者自定义函数 处理阵列中的每一个元素
$subject=array("maths" "english" "physics");
function printElement($element)
print ("$element
n");
array_walk($subject "printElement");
cha138/Article/program/PHP/201311/20989相关参考