САМОУЧИТЕЛЬ PHP 4

       

Конструкция or die()


Давайте еще раз посмотрим на предыдущие примеры. Обратите внимание на доселе не встречавшуюся нам конструкцию or die().

Ее особенно удобно применять как раз при работе с файлами. Как мы знаем, оператор or имеет очень низкий приоритет (даже ниже, чем у =), поэтому в нашем примере всегда выполняется уже после присваивания. Иными словами, первая строчка примера с точки зрения PHP выглядит так:

($f=fopen("/home/user/file.txt", "r")) or die("Ошибка!");

Конечно, то, что or обозначает "логическое ИЛИ" в нашем случае не так интересно (ибо возвращаемое значение просто игнорируется). Нас же сейчас интересует другое свойство оператора: выполнять второй свой операнд только в случае ложности первого. Смотрите: если файл открыть не удалось, fopen() возвращает false, а значит, осуществляется вызов die() "на другом конце" оператора or.

Заметьте, что нельзя просто так заменить or

на, казалось бы равнозначный ему оператор ||, потому что последний имеет гораздо более высокий приоритет — выше, чем у =. Таким образом, в результате вызова функции

$f=fopen("/home/user/file.txt", "r") || die("Ошибка!");

в действительности будет выполнено

$f = (fopen("/home/user/file.txt", "r") || die("Ошибка!"));

Как видите, это не совсем то, что нам нужно.



Содержание раздела