Помогите разобраться с одной тонкостью, которая не даёт мне покоя )
Из документации сказано , что оператор OR сначала присваивает, а затем второй операнд игнорируется:
// Константа false присваивается $f, а затем значение true игнорируется
// Действует как: (($f = false) or true)
$f = false or true;
1. Ок, первый вопрос, зачем тогда вообще второй операнд, если он игнорируется, можно просто написать $f = false ?
Но ладно, на примере функции fopen():
$write = fopen($path, 'w+') or die("не удалось создать файл");
Из документации: Возвращает указатель на файл в случае успешной работы,
или FALSE в случае ошибки
Из правила видно, что если ошибка, то возвращает FALSE.
Из правила выше
($f = false) or true должно быть, что:
($write = false) or die("не удалось создать файл");
die("не удалось создать файл")
должно игнорироваться.
Я инсценировал ошибку, но сообщение
"не удалось создать файл" всё равно вывелось, почему?
Меня этот OR запутал! )