PHP配列遍歴関数
1649 ワード
array_mapは新しい配列を返し、元の配列は変わらない(新しい配列と元の配列の配列長は同じであるべき).
array_walkが返すブール値、配列要素の値を変更する場合は、コールバック関数の最初のパラメータはarray_などの参照でなければなりません.walk($array, function(&$v, $k){}); , arrary_walkのコールバック関数は配列のkeyを受信することもできる.
array_filterは新しい配列を返し、元の配列は変わりません.配列内の要素をフィルタする役割を果たします.コールバック関数は真を返します.要素は新しい配列に保存されます.すなわち、新しい配列と元の配列の配列の長さが異なる場合があります.
array_walkが返すブール値、配列要素の値を変更する場合は、コールバック関数の最初のパラメータはarray_などの参照でなければなりません.walk($array, function(&$v, $k){}); , arrary_walkのコールバック関数は配列のkeyを受信することもできる.
array_filterは新しい配列を返し、元の配列は変わりません.配列内の要素をフィルタする役割を果たします.コールバック関数は真を返します.要素は新しい配列に保存されます.すなわち、新しい配列と元の配列の配列の長さが異なる場合があります.
function testArrayCallBack(){
4 $arr = array(12,64,3,47);
5
6 //array_map ,
7 $newArr = array_map(function($v){
8 return ++$v;
9 },$arr);
10 echo " :
"; print_r($arr);
11 echo "array_map :
"; print_r($newArr);
12
13 //array_walk ,
14 $b = array_walk($arr, function(&$v, $k){ // , 。
15 $v+=$k;
16 });
17 echo " :
"; print_r($arr);
18 echo "array_walk :"; var_dump($b );
19
20 //array_filter ,
21 $newArr = array_filter($arr, function($v){
22 return $v > 10;
23 });
24 echo " :
"; print_r($arr);
25 echo "array_filter :
"; print_r($newArr);
26 }
:
Array
(
[0] => 12
[1] => 64
[2] => 3
[3] => 47
)
array_map :
Array
(
[0] => 13
[1] => 65
[2] => 4
[3] => 48
)
:
Array
(
[0] => 12
[1] => 65
[2] => 5
[3] => 50
)
array_walk :bool(true)
:
Array
(
[0] => 12
[1] => 65
[2] => 5
[3] => 50
)
array_filter :
Array
(
[0] => 12
[1] => 65
[3] => 50
)