如果在PHP中遇到除零,则返回零值

问题描述 投票:-3回答:1

我正在研究一个项目,我将一个数组与另一个数组分开,问题是我正在分割的数组包含一些值为零的元素。这给了我警告“除以零”并且还返回值“INF”。如果可能的话,我希望除以零来返回零值。我对编程很陌生,如果有人可以帮助我或者给出一些如何解决这个问题的提示,我会很感激。以下是该问题的简化案例。

    $arr1 = array(10, 20, 30);
    $arr2 = array(1, 2, 0);
    $arr3 = array_map(function ($a,$b) {return $a / $b;}, $arr1, $arr2);
    print_r($arr3);

所以输出目前是:

Array ( [0] => 10 [1] => 10 [2] => INF )

我想要的输出是:

Array ( [0] => 10 [1] => 10 [2] => 0 )
php arrays divide-by-zero
1个回答
1
投票

只需检查参数是否为零:

$arr1 = [10, 20, 30];
$arr2 = [1, 2, 0];
$arr3 = array_map(function ($a, $b) {
    if($b === 0) {
        return 0;
    }
    return $a / $b;
}, $arr1, $arr2);
print_r($arr3);
© www.soinside.com 2019 - 2024. All rights reserved.