Press "Enter" to skip to content

php遍历数组的各种方法

Last updated on 2019-05-17

<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
//在while()语句每次循环中,each()语句将当前数组元素的键,
//赋给list()函数的第一个参数变量$key。并将当前数组元素中的值
//赋给list()函数中的第二个参数变量$value,
//并且each()语句执行之后还会把数组内部的指针向后移动一步,因此下次while()语句循环时,将会得到该数组中下一个元素的键/值对。
//直到数组的结尾each()语句返回FALSE,while()语句停止循环,结束数组的遍历。
while (list($key, $value) = each($arr)) {
    echo $value . "<br/>";
}
//for循环遍历
for ($temp = 0; $temp < count($arr); $temp++) {
    echo $arr[$temp];
}
//while循环
$i     = 0;
$count = count($arr);
while ($i < $count) {
    echo $arr[$i];
    $i++;
}
//foreach遍历数组
foreach ($arr as $key => $val) {
    echo $val;
}
//array_map遍历数组
function cube($n)
{
    return ($n);
}

$a = array(214, 14, 141, 4151, 14141);
$b = array_map("cube", $a);
print_r($b);
function alter(&$value, $key)
{
//在此处不对元素值做任何修改,如果想要修改则需像我一样给参数加上引用
    echo $key . "=>" . $value . '<br/>';
}

$arr = array("aa" => "A", "bb" => "B", "cc" => "C", "dd" => "D");
//array_walk -- 对数组中的每个成员应用用户函数
//函数原型:bool array_walk ( array &amp;array, callback funcname [, mixed userdata] )
//第一个参数为 数组
//第二个参数为 callback函数名,
//第三个参数为 可选参数(将传递给所callback的函数)
//==============================================================================
//array_map()将传递callback 函数的 的
//第一个参数是元素的值,如需修改则应加上 &amp;操作符
//第二个参数为键值,如需修改则作如上处理
//第三个参数为用户自己传递给函数的数据(即array_walk()中的第三个参数)

array_walk($arr, 'alter');

 

Leave a Reply

Your email address will not be published. Required fields are marked *