PHP не выводится false, 0
$test = 0,
$test2 = false;
echo $test.' '.$test2;
Почему? Так же если создать массив и вывести его он будет отображать как [0] => пустота, не понимаю. Мне нужно хранить в переменных эти значения и в дальнейшем выводить.
Ответы (3 шт):
Автор решения: Dodik
→ Ссылка
$test = 0;
$test2 = false;
$test2 = ($test2) ? 'true' : 'false';
echo $test.' '.$test2;
Автор решения: Олександр Слуцький
→ Ссылка
Дело в том, что есть ЗНАЧЕНИЕ переменной (например, false), а есть СТРОКОВОЕ ПРЕДСТАВЛЕНИЕ (для false оно будет ""(пустая строка)).
Если хотите выводить больше инфы, можете попробовать так:
$test = 0;
$test2 = false;
echo var_export($test, true).' '.var_export($test2, true);
Автор решения: Ипатьев
→ Ссылка
Самый удобный способ выводить значения, которые не являются строками или числами - json_encode(). Такие значения леко читаются и человеком и машиной без всяких танцев вприсядку. То есть такой формат может использоваться не только для вывода, но также для импорта и экспорта любых стркутур данных.
echo json_encode(NULL),"\n";
echo json_encode(FALSE),"\n";
echo json_encode([]),"\n";
echo json_encode(0),"\n";