array_walk는 foreach와 동일합니다.
<code>$arr = ['Client'=>'jQuery','Server'=>'PHP']; array_walk($arr, function($v, $k) { echo "键:$k 值:$v\n"; });</code>
예를 들어 배열 $arr 요소의 앞뒤 공백을 제거합니다.
<code>array_walk($arr, function(&$v) { $v = trim($v); }); foreach($arr as &$v) { $v = trim($v); } array_filter: 用回调函数过滤数组中的单元,返回过滤后的数组 var_export( array_filter([1, 2, 3], function($v) { return $v > 1; }) ); 和 foreach([1, 2, 3] as $k => $v) { if($v > 1) { $tmp[$k] = $v; } } var_export($tmp); 都输出: array ( 1 => 2, 2 => 3, )</code>
PHP 배열 매핑 축소(MapReduce):
<code>array_map/array_reduce array_map: 将回调函数作用到给定数组的单元上 var_export( array_map(function ($v) { return $v * $v; }, [1, 2, 3]) ); 和 foreach([1, 2, 3] as $v) { $tmp[] = $v * $v; } var_export($tmp); 都输出: array ( 0 => 1, 1 => 4, 2 => 9, )</code>
array_reduce: 콜백 함수를 사용하여 배열을 반복적으로 단일 값으로 줄입니다.
//출력 16, 즉 10+1+2+3, 초기 값은 10입니다.
<code>echo array_reduce([1, 2, 3], function($result, $item) { $result = $result + $item; return $result; }, 10); 用foreach表达: $result = 10; foreach([1, 2, 3] as $v) { $result = $result + $v; } echo $result;</code>
실행 효과는 동일하지만 함수를 사용하는 것이 빠른지, foreach를 사용하는 것이 빠른지
array_walk는 foreach와 동일합니다.
<code>$arr = ['Client'=>'jQuery','Server'=>'PHP']; array_walk($arr, function($v, $k) { echo "键:$k 值:$v\n"; });</code>
예를 들어 배열 $arr 요소의 앞뒤 공백을 제거합니다.
<code>array_walk($arr, function(&$v) { $v = trim($v); }); foreach($arr as &$v) { $v = trim($v); } array_filter: 用回调函数过滤数组中的单元,返回过滤后的数组 var_export( array_filter([1, 2, 3], function($v) { return $v > 1; }) ); 和 foreach([1, 2, 3] as $k => $v) { if($v > 1) { $tmp[$k] = $v; } } var_export($tmp); 都输出: array ( 1 => 2, 2 => 3, )</code>
PHP 배열 매핑 축소(MapReduce):
<code>array_map/array_reduce array_map: 将回调函数作用到给定数组的单元上 var_export( array_map(function ($v) { return $v * $v; }, [1, 2, 3]) ); 和 foreach([1, 2, 3] as $v) { $tmp[] = $v * $v; } var_export($tmp); 都输出: array ( 0 => 1, 1 => 4, 2 => 9, )</code>
array_reduce: 콜백 함수를 사용하여 배열을 반복적으로 단일 값으로 줄입니다.
//출력 16, 즉 10+1+2+3, 초기 값은 10입니다.
<code>echo array_reduce([1, 2, 3], function($result, $item) { $result = $result + $item; return $result; }, 10); 用foreach表达: $result = 10; foreach([1, 2, 3] as $v) { $result = $result + $v; } echo $result;</code>
실행 효과는 동일하지만 함수를 사용하는 것이 빠른지, foreach를 사용하는 것이 빠른지