Здравствуйте. Встретил в коде необычную строчку : Код (PHP): <?php $one = 5 && true && 6 ; echo $one; ?> Выводит единицу, при любом значении вместо 5 и 6 ,даже текстовом. Если заменить true на false ,то на экран ничего не выводиться. Что означает эта запись и для чего используется?
1 - true, ничего (или 0) - false. По сути это условие и эту же запись можно было бы записать так: Код (PHP): if( 5 && true && 6 ) { $one = true; } else { $one = false; } // или так $one = 5 && true && 6 ? true : false;
спасибо.правильно упростить так? Код (PHP): $one = true; echo $one; результат что с true ,что с false аналогичен первоначальному примеру
Неправильно. Каждый из аргументов условия должен вернуть true, т.к. используется логический оператор && (И) и только тогда переменной $one будет присвоено true: 5 == true и true == true и 6 == true.
а все понял спасибо! можно еще один маленький вопросик? Код (PHP): $foo='p'; $foo++; echo $foo; результат будет q . почему такой результат?)
Я не знаю, как в других языках программирования, но php поддерживает инкремент с буквенными значениями латинского алфавита. После "P" идёт "Q". Вы присвоили переменной значение "P" и увеличили его на единицу ($foo++), т.е. как бы перешли на следующую букву алфавита.
Не за что. Думаю, что кто-нибудь тут расскажет вам эту особенность с более научной точки зрения, чем я