Что было бы быстрее и какой правильный php внутри if и целых чисел? - PullRequest
0 голосов
/ 31 октября 2011

У меня есть 2 цикла while в операторе if затем else if, код работает и все хорошо, но просто маленький вопрос.

Возьмите мой первый пример, я объявляю в цикле while оператор true для его выполнения,

if ($levelChange > 0) {
    while ($levelChange != 0) {
        echo '<p>You gained a level you are now ' . ($levelChange + $user['level']) . '</p>';
        $levelChange--;
    }
}
elseif ($levelChange < 0) {
    while ($levelChange != 0) {
        echo '<p>You just lost a level you are now ' . ($levelChange + $user['level']) . '</p>';
        $levelChange++;
    }
}

А мой второй пример - нет,

if ($levelChange > 0) {
    while ($levelChange) {
        echo '<p>You gained a level you are now ' . ($levelChange + $user['level']) . '</p>';
        $levelChange--;
    }
}
elseif ($levelChange < 0) {
    while ($levelChange) {
        echo '<p>You just lost a level you are now ' . ($levelChange + $user['level']) . '</p>';
        $levelChange++;
    }
}

Они оба работают, но какой из них лучше использовать и почему, также, если кто-нибудь знает, что может быть быстрее, пожалуйста, просветите меня,

Спасибо

Ответы [ 2 ]

2 голосов
/ 31 октября 2011

PHP преобразует свои аргументы в логические значения, где ожидается условный оператор.Для чисел каждое ненулевое значение (!= 0) оценивается как истинное.Документы PHP для логического типа содержат таблицу с правилами преобразования для различных типов.

Следовательно, if($x) эквивалентно if($x == TRUE).Между этими двумя формами нет никакой (измеримой) разницы в производительности.

1 голос
/ 31 октября 2011

В этом случае я бы сказал, что это ваши предпочтения.Я бы, вероятно, использовал сравнение с 0, но это только мои предпочтения, потому что оно немного более многословно, если кто-то еще читает ваш код.В любом случае не должно быть особых изменений в производительности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...