Само да дам един пример за тези логически оператори.
В предишен урок Иван даде един прост пример, а именно:
2-2*2 = ?И обясни защо резултата е -2, а не 0.
Той спомена че в математика има един принцип наречен приоретизация на деиствията.
Т.е. кое деиствие след кое следва.
В конкретния пример първо
винаги се извършва умножението и чак след това се извършва изваждането.
За по-нагледно ще го направя със скоби.
2-(2*2) = 2-4 = -2Но попринцип е прието да не се слагат скоби за улеснение

Така, ако искате обаче първо да се извърши изваждането и чак след това да умножите - просто преместете скобите:
(2-2)*2 = 0*2 = 0--------------------------------------------------------------И сега - защо ви го пиша всичкото това?
Ами защото принципа при логическите оператори е абсолютно същия!
Т.е. и тук както в математиката има приоретизация, но на операторите.
Веднага пример:
$a = 1; $b = 2; $c = 4;
if($a==1 || $b==2 && $c ==3) {
echo " true " ;
}
else {
echo " false " ;
}Представете си че на вас задачата ви е да познаете кое след кое ще се провери.
Т.е. тази проверка
$a==1 || $b==2 && $c ==3 какво ще върне.
Сега ако ви кажа, че && е с по-голям приоритет, би трябвало сами да се сетите къде ще са скобите нали?
Правилния резултат ще е:
$a==1 || ($b==2 && $c ==3) = trueА горния израз означава следното:
Ако едно от двете условия е вярно значи резултата ще е вярно(true).
Първото условие е: $а да е равно на 1.
Второто условие е: $b задължително да е равно на 2, и съответно $с задължително да е равно на 3.
Виждате ли че това е цялата философия

Ако ви е трудно схващането - просто винаги си слагайте скобките, за да свикнете - няма да има грешка при изпълнението на кода
