php min()数组从foreach中撤回错误

时间:2015-06-13 21:34:46

标签: php arrays foreach

我正在计算并从foreach循环中的函数获取结果和数组,并对该结果执行min()或max()但结果是错误的。有人能解释一下为什么吗?感谢

function subtract($a, $b){
    $c=$b-$a;
    return $c. ',';
    }
    $r=3;
$numbers = array(12, 11, 6, 9, 15);

foreach ($numbers as $index=>$value) {
    $deductions[]=array(subtract($r, $value));
    $minimum=min($deductions);
}
print_r($minimum);

在这种情况下我得到12而不是3。

2 个答案:

答案 0 :(得分:1)

function subtract($a, $b){
    $c=$b-$a;
    return $c;
    }
    $r=3;
$numbers = array(12, 11, 6, 9, 15);

foreach ($numbers as $index=>$value) {
    $deductions[]=array(subtract($r, $value));
    $minimum=min($deductions);
}
echo min($minimum);

答案 1 :(得分:1)

您可以使用array_walk Rizier123已经显示array_map

$r=3;
$numbers = array(12, 11, 6, 9, 15);
array_walk($numbers,function($v,$k) use(&$result,$r){ $result[$k] = $v-$r;});
print_r(min($result));