or die ...

  • Автор темы Автор темы Ralph
  • Дата начала Дата начала

Ralph

Дикий столяр
or die ...

Добрый день.Я думаю,всем знакома конструкция вида
mysql_connect/fopen or die ... ,да и я столько времени бездумно ею пользовался,а сейчас все-таки заинтересовало... Как я понимаю,это аналог Shell'овских || и &&,но может мне кто-нибудь указать место в документации,где описана эта конструкция ? Буду очень благодарен
 
Это булева алгебра
PHP:
//по идее запись должна выглядеть так
$Result= (($h=fopen()) or ( die()));
//Если выполнилось первое условие  ($h=fopen()==true, то и незачем вывзывать die, результат в любом случае будет true
//А если ($h=fopen()==false, то надо вызвать die() и посмотреть её результат

//но эту запись упрощают
$h=fopen() or  die();
 
Ага,ясно ... Просто я привык,что в булевых операциях присутствуют три операнда : первый OR/AND/XOR второй --> результат,поэтому при использовании в IF/WHILE вопросов не возникало.И до каких пор действует условие-до символа перевода строки или ...
 
Ralph
Человек выше описал ясно.

-~{}~ 20.04.10 21:19:

Автор оригинала: Ralph
Просто я привык,что в булевых операциях присутствуют три операнда
— а что, по-твоему, значит «операнд»?
 
Переводы строки это всё бейскик,
"условие" действует до ";" которую я забыл
 
B том-то и дело,что не совсем ясно...Выполняется только одна функция после OR ?
 
сколько угодно
PHP:
//Последовательно пытаемся открыть хотя бы один файл, если открыли то продолжаем работать, не открыли выходим по die()
($h=fopen("1.txt")) or ($h=fopen("2.txt")) or ($h=fopen("1.txt")) or die() ;
 
вурдалак,неверно выразился ... Подвело радиоэлектронное прошлое.Там нет последовательной проверки и чтобы на выходе логического элемента получить строго определенное значение,логический 0/1 должен быть подан обязательно на ДВА входа,иначе выходное значение может прыгать от 0 к одному и обратно чуть ли не каждую микросекунду.
mity Спасибо.Жаль,значит, or my_function();return; не проканает :(
 
нет никаких входов :)

почему же, "... or my_function(); " будет работать

Впрочем, это плохой стиль.
 
не надо вообще так писать! потом сложно код читать
ладно ещё or die, но иногда такое можно увидеть, что приходится булеву алгебру вспоминать))
 
Да я в принципе самому ближе присвоить переменной результат выполнения функции,затем проверка и т.д
Но вот вчера че то шарахался по мануалу,пару раз наткнулся на это,да и подумал:мож так и правда удобнее/лучше,все таки в оф.документации применяется ...
Спасибо за советы
 
Сверху