память — Сколько ресурсов PHP тратит на нерелевантный код, если таковой имеется?

Это не вопрос принципов или общих процедур кодирования, это вопрос о том, как PHP обрабатывает код, или, точнее, не обрабатывать код, который он должен игнорировать, во имя лучшего понимания того, как работает PHP

Сценарий 1:

if (1==2) { echo rand(0,99); }

Очевидно, что приведенный выше код не будет иметь никакого выхода, и вопрос не в этом; а точнее, о том, действительно ли PHP даже считает сделать любой вывод. Когда PHP проходит по странице, он полностью пропускает код, назначенный неудачной проверке if, или ему выделяются какие-либо ресурсы, помимо того, что делает размер файла?

Сценарий 2:

if (1==2) { for ($x = 0; $x <= 999999; $x++) { echo rand(0,99); } }

Подобно сценарию 1, но с ключевым отличием для прояснения сути вопроса, учитывая, что 1 == 2 всегда будет ложным, использует ли этот код больше ресурсов, чем предыдущий, или они оба будут одинаково «дешевы» для обработки? Или есть какие-то «скрытые» действия, которые складываются, даже если код в цикле такой же минимальный, как этот?

Сценарий 3:

for ($x = 0; $x <= 999999; $x++) { if (1==2) { echo rand(0,99); } }

Теперь этот человек должен увидеть ложное утверждение миллион раз, но насколько это действительно важно с точки зрения ресурсов? Будет ли проверяться, если 1 равно 2, или PHP «учится» с первой проверки? И тратит ли он какие-либо ресурсы сверх этого, или простая проверка if, такая как внутри цикла, единственная вещь, которую PHP будет обрабатывать? Будет ли это «читать» echo rand(0,99); миллион раз, хотя 1 не 2?

Сценарий 4:

for ($x = 0; $x <= 999999; $x++) { if (1==2) { for ($x = 0; $x <= 999999; $x++) { echo rand(0,99); } } }

Наконец, комбинация их всех, будет ли этот пример массовым потерей ресурсов на уровне цикла в цикле, или внутренний цикл будет полностью игнорироваться при обработке? Другими словами, 1! = 2 заставит PHP полностью пропустить обрабатывает внутренний цикл, или он будет тратить память на код, который он должен игнорировать? И насколько этот сценарий отличается от предыдущих трех с точки зрения обработки и ресурсов?

Заранее благодарен за любые знания PHP и использования памяти по этому вопросу, я надеюсь, что ответ на этот вопрос поможет лучше понять, как PHP обрабатывает код для меня и других

РЕДАКТИРОВАТЬ:
Другим несколько уместным примером может быть наличие большого количества комментариев в цикле по сравнению с ним; будут комментарии внутри цикла влиять на производительность по-разному в любом случае (независимо от того, насколько «незаметным» вы можете считать это) чем такое же количество комментариев вне цикла?

2

Решение

1 & 2) Все внутри этих, если блоки не оцениваются

3) PHP ничего не изучает, он выполнит 1 миллион проверок. Это не важно, но и не незначительно. Как предложил один из комментаторов, попробуйте и посмотрите, сколько времени попало на страницу.

4) Это генерирует тот же объем обработки, что и № 3

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]