PHP or
працює на зразок C ||
(який, до речі, також підтримується PHP - or
просто виглядає приємніше і має різний пріоритет оператора - див. Цю сторінку ).
Він відомий як оператор короткого замикання, оскільки він буде пропускати будь-які оцінки, як тільки у нього буде достатньо інформації, щоб визначити остаточне значення.
У вашому прикладі, якщо mysql_connect()
повертається TRUE, то PHP вже знає, що весь вислів буде оцінено як TRUE незалежно від того, що die()
оцінюється, і, отже die()
, не буде оцінено.
Якщо mysql_connect()
повертається FALSE, PHP не знає, чи буде ціле твердження оцінено як TRUE або FALSE, тому воно продовжується і намагається оцінити die()
- закінчення сценарію в процесі.
Це просто приємний трюк, який використовує спосіб or
роботи.