Небольшие тонкости PHP

Печать RSS
193

Y
Автор
Землянин
0
Решил поразмышлять про небольшие тонкости, которые столкнулся в PHP
Ситуация №1
$x = TRUE;
$y = FALSE;
$z = $y OR $x;
echo $z;
Почему false?),а не true

$x = TRUE;
$y = FALSE;
$z = $y || $x;
echo $z;
а тут выведет true
Изменил: YouMobe (29.01.2014 / 00:16)
К

Айсберг Визави
0
"||" имеет больший приоритет, чем "or"

Результат выражения (false || true) присваивается переменной $e
Действует как:
($e = (false || true))
$e = false || true;

Константа false присваивается $f, а затем значение true игнорируется
Действует как:
(($f = false) or true)
$f = false or true;

var_dump($e, $f);

документация. все правильно. никакой магии)
Изменил: Кевин Митник (29.01.2014 / 01:10)
Y
Автор
Землянин
0
Ситуация №2
$s = 'site';
$$v = 'visavi';
echo "$s ${$v}";

Добавлено через 02:33 сек.
переменные переменных,теперь в дереве символов PHP определены и содержатся две переменные:
Изменил: YouMobe (29.01.2014 / 02:26)
К

Айсберг Визави
0
3. YouMobe, возможность появилась кажется в последних версиях php5.

переменная $s содержит строку "site", а переменная переменной $$v содержит переменную $visavi. твой вывод можно также написать echo $s . $visavi;
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск