예
배열의 값을 사용자 정의 함수로 보내고 문자열을 반환합니다.
<?php
function myfunction($v1,$v2)
{
return $v1 . "-" . $v2;
}
$a=array("Dog","Cat","Horse");
print_r(array_reduce($a,"myfunction"));
?>
정의 및 사용법
array_reduce() 함수는 배열의 값을 사용자 정의 함수로 보내고 반환합니다. 문자열.
참고: 배열이 비어 있거나 초기 값이 전달되지 않은 경우 이 함수는 NULL을 반환합니다.
Syntax
array_reduce(array,myfunction,initial)
Parameters | Description |
array | 필수입니다. 배열을 지정합니다. |
myfunction | 필수입니다. 함수의 이름을 지정합니다. |
이니셜 | 선택사항. 처리를 위해 함수에 전송되는 첫 번째 값을 지정합니다. |
기술 세부정보
반환 값: | 결과 값을 반환합니다. |
PHP 버전: | 4.0.5+ |
업데이트 로그:
| PHP 5.3.0부터 초기 매개변수는 여러 유형(혼합)을 허용하며, PHP 5.3.0 이전 버전에서만 지원합니다. 정수. |
更多实例
实例 1
带 initial 参数:
<?php
function myfunction($v1,$v2)
{
return $v1 . "-" . $v2;
}
$a=array("Dog","Cat","Horse");
print_r(array_reduce($a,"myfunction",5));
?>
实例 2
返回总和:
<?php
function myfunction($v1,$v2)
{
return $v1+$v2;
}
$a=array(10,15,20);
print_r(array_reduce($a,"myfunction",5));
?>
array_reduce的强大不仅如此。看下面的例子。将数组$arr的首个元素弹出,作为初始值,避免min($result['min'], $item['min'])中$result为空。
否则最终结果min是空的。
$arr = array(
array('min' => 1.5456, 'max' => 2.28548, 'volume' => 23.152),
array('min' => 1.5457, 'max' => 2.28549, 'volume' => 23.152),
array('min' => 1.5458, 'max' => 2.28550, 'volume' => 23.152),
array('min' => 1.5459, 'max' => 2.28551, 'volume' => 23.152),
array('min' => 1.5460, 'max' => 2.28552, 'volume' => 23.152),
);
$initial = array_shift($arr);
$t = array_reduce($arr, function($result, $item) {
$result['min'] = min($result['min'], $item['min']);
$result['max'] = max($result['max'], $item['max']);
$result['volume'] += $item['volume'];
return $result;
}, $initial);
总之,这种写法比foreach更优雅,更少的定义变量。推荐使用。
위 내용은 PHP는 배열의 값을 사용자 정의 함수로 보내고 문자열 함수 array_reduce()를 반환합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!