mixed array_reduce ( array $input , callback $function [, int $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 댓글