#php #функции #оптимизация
есть функция, в которой на вход подается два значения. как сократить в ней количество операторов сравнения и условий, для оптимизации, или это уже итак минимум? function test($x){ if ($x!==0 && $x!==1) { return; } elseif($x == 0) { echo 1; } else echo 0; }
Ответы
Ответ 1
function test($x){ if ($x == 1) { echo 0; } elseif ($x == 0) { echo 1; } }Ответ 2
как сократить количество операторов сравнения и условий, для оптимизации, или это уже итак минимум? Можно существенно сократить код, используя вместо условий массив в комбинации с коалесцентным оператором: function test($x, $a = [1, 0]) { echo $a[$x] ?? null; } Вызов test(0) выведет 1, test(1) - 0. Все остальные варианты - null.Ответ 3
нашел три варианта решения 1 - echo !$x; 2 - echo 1-$x; 3 - echo ($x ? 0 : 1); если вдруг кому будет необходимо :)
Комментариев нет:
Отправить комментарий