Вернуть нулевое значение, если в PHP встречается деление на ноль - PullRequest
0 голосов
/ 29 апреля 2019

Я работаю над проектом, в котором я делю один массив на другой, и проблема в том, что массив, с которым я делюсь, содержит некоторые элементы, которые имеют нулевое значение. Это дает мне предупреждение «Деление на ноль», а также возвращает значение «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 )

1 Ответ

1 голос
/ 29 апреля 2019

Просто проверьте, равен ли параметр нулю:

$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);
...