出于某种或其他原因,array_reduce
PHP 中的函数只接受整数作为它的第三个参数。这第三个参数用作整个归约过程的起点:
function int_reduc($return, $extra) {
return $return + $extra;
}
$arr = array(10, 20, 30, 40);
echo array_reduce($arr, 'int_reduc', 0); //Will output 100, which is 0 + 10 + 20 + 30 + 40
function str_reduc($return, $extra) {
return $return .= ', ' . $extra;
}
$arr = array('Two', 'Three', 'Four');
echo array_reduce($arr, 'str_reduc', 'One'); //Will output 0, Two, Three, Four
在第二次调用中,将其'One'
转换为整数值,即 0,然后使用。
为什么 PHP 会这样做!?
欢迎任何解决方法...