Страницы

Поиск по вопросам

понедельник, 30 марта 2020 г.

Сократить запись функции для оптимизации

#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); если вдруг кому будет необходимо :)

Комментариев нет:

Отправить комментарий