Друзья всем привет!!! помогите разобраться раз и навсегда с этой записью, до сих пор сильно путаюсь, благодарю вас заранее.
Что означает запись if($var) { echo "Hello"; }
Или запись if(!empty($var)) { echo "Hello"; }
Я понимаю например запись
if(!empty($var) == TRUE) {
echo "Hello";
} else {
echo "Bye bye";
}
объясните разницу и как это работает? И где в короткой записи else
использовать? Спасибо!
1.
if($var) { echo "Hello"; }
означает, что если значение $var можно привести к TRUE, то будет выполнена команда echo "Hello". Смотрите последний столбце таблицы:
2.
if(!empty($var)) { echo "Hello"; }
означент, что при не пустом значении переменной $var, будет выполнена команда echo "Hello".
Больше информации в таблице сравнения типов в PHP Обратите внимание на гибкое сравнение и жесткое сравнение.
3.
И где в короткой записи else использовать?
if($var) { echo "Hello"; } else { echo "Bye-Bye!"; }
хотя лучше так (тернарный оператор):
echo ($var ? "Hello" : "Bye-Bye!");
Выражение вида $var == true
, вы воспринимаете его как обязательную часть if()
. Но это не так. Поймите следующее: ==
это такое-же действие, как сложение или умножение:
$var = 5 + 3; //var = 8
$var = 5 * 3; //var = 15
$var = 5 == 3; //var = FALSE
$var = 5 > 3; //var = TRUE
$var = TRUE or FALSE; //var = TRUE
По сути PHP просто выполняет ваше выражение, не заботясь о том, какие там операторы, сложение, умножение или сравнение.
После того как все логические и арифметические действия выполнены, в if()
уходит результат этих вычислений, TRUE
или FALSE
.
По умолчанию в подобного рода условиях проверяется истина. Т.е. запись if(!empty($var))
идентична if(!empty($var) == TRUE)
по смыслу. Т.е. if(!empty($var))
читается как "Если в переменной не пусто, то".
Запись
if($var) { echo "Hello"; }
аналогична
if($var == true) { echo "Hello"; }
Запись
if(!empty($var)) { echo "Hello"; }
аналогична
if(!empty($var)==true) { echo "Hello"; }
или
if(empty($var)==false) { echo "Hello"; }
В "короткой" записи else
ставите так же, как в "длинной":
if(!empty($var)){
echo "Hello";
} else{
echo "Bye bye";
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Доброго времени суток, господа!
Доброго времени суток, из select выбирается значение, switch определяет какое действие выполнятьВ форме вместе с select есть чекбокс