php
PHP - array_reduce 함수
mixed array_reduce ( array $input , callback $function [, int $initial ] )
(PHP 4, PHP 5)
콜백 함수에 배열의 값을 넣고, 그 결과의 문자열을 반환받습니다.
인수 Initial를 설정하면 그 값을 처음 부분에 사용되고, 배열이 비어 있으면 최종 값으로 설정됩니다. 다음은 문자열을 설정했을 때와 정수를 설정했을 때의 결과입니다.
(PHP 4, PHP 5)
콜백 함수에 배열의 값을 넣고, 그 결과의 문자열을 반환받습니다.
<?php
function myfunction($k, $v)
{
return $k . "=>" . $v;
}
$a = array("a"=>"Dog", "b"=>"Cat", "c"=>"Horse");
print_r(array_reduce($a, "myfunction"));
// 출력: =>Dog=>Cat=>Horse
?>
인수 Initial를 설정하면 그 값을 처음 부분에 사용되고, 배열이 비어 있으면 최종 값으로 설정됩니다. 다음은 문자열을 설정했을 때와 정수를 설정했을 때의 결과입니다.
<?php
function myfunction($k, $v)
{
return $k . "=>" . $v;
}
$a = array("a"=>"Dog", "b"=>"Cat", "c"=>"Horse");
print_r(array_reduce($a, "myfunction", "string"));
// 출력: 0=>Dog=>Cat=>Horse
print_r(array_reduce($a, "myfunction", 10));
// 출력: 10=>Dog=>Cat=>Horse
?>
<?php
function rsum($v, $w)
{
$v += $w;
return $v;
}
function rmul($v, $w)
{
$v *= $w;
return $v;
}
$a = array(1, 2, 3, 4, 5);
$b = array_reduce($a, "rsum"); // 출력: 15
// 10*1*2*3*4*5 = 1200
$c = array_reduce($a, "rmul", 10); // 출력: 1200
$x = array();
$d = array_reduce($x, "rsum", 1); // 출력: 1
?>
0 댓글