>백엔드 개발 >PHP 튜토리얼 >PHP는 배열의 값을 사용자 정의 함수로 보내고 문자열 함수 array_reduce()를 반환합니다.

PHP는 배열의 값을 사용자 정의 함수로 보내고 문자열 함수 array_reduce()를 반환합니다.

黄舟
黄舟원래의
2017-11-08 13:36:061628검색

배열의 값을 사용자 정의 함수로 보내고 문자열을 반환합니다.

<?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)

ParametersDescriptionarray필수입니다. 배열을 지정합니다. 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(&#39;min&#39; => 1.5456, &#39;max&#39; => 2.28548, &#39;volume&#39; => 23.152), 
    array(&#39;min&#39; => 1.5457, &#39;max&#39; => 2.28549, &#39;volume&#39; => 23.152), 
    array(&#39;min&#39; => 1.5458, &#39;max&#39; => 2.28550, &#39;volume&#39; => 23.152), 
    array(&#39;min&#39; => 1.5459, &#39;max&#39; => 2.28551, &#39;volume&#39; => 23.152), 
    array(&#39;min&#39; => 1.5460, &#39;max&#39; => 2.28552, &#39;volume&#39; => 23.152), 
); 

$initial = array_shift($arr); 

$t = array_reduce($arr, function($result, $item) { 
    $result[&#39;min&#39;] = min($result[&#39;min&#39;], $item[&#39;min&#39;]); 
    $result[&#39;max&#39;] = max($result[&#39;max&#39;], $item[&#39;max&#39;]); 
    $result[&#39;volume&#39;] += $item[&#39;volume&#39;]; 

    return $result; 
}, $initial);

 总之,这种写法比foreach更优雅,更少的定义变量。推荐使用。


업데이트 로그:

위 내용은 PHP는 배열의 값을 사용자 정의 함수로 보내고 문자열 함수 array_reduce()를 반환합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.