Вопрос по php – Почему PHP не печатает TRUE / FALSE? [Дубликат]

16

Possible Duplicate:
PHP - Get bool to echo false when false

Учитывая следующий test.php:

<?php

echo TRUE . "\n";    // prints "1\n"
echo FALSE . "\n";   // prints "\n"

?>

Почему нетphp -f test.php РаспечататьTRUE или жеFALSE? Что еще более важно, вFALSE случай, почему он ничего не печатает?

Это потому чтоC не имеетboolean но использует0 заFALSE и все остальное дляTRUE, И PHP использует многоC концепции. Поэтому вы можете использоватьif($foo) в PHP, который оцениваетtrue в каждом случае, когда$foo установлен, не пустой и не0 или жеfalse. fdomig
echo "TRUE";, echo "FALSE"; ? Gntem
Последнее по замыслу. Должен выводить1 правда правда Pekka 웃
@ Пекка, хорошо. Но почему так? Agnel Kurian
@AgnelKurianecho ($foo ? "TRUE" : "FALSE") ; Khaled.K

Ваш Ответ

3   ответа
34

руководство:

A boolean TRUE value is converted to the string "1". Boolean FALSE is converted to "" (the empty string). This allows conversion back and forth between boolean and string values.

null также не может быть напечатан в PHP, является ли null также преобразованным в пустую строку?
Я думаю, что то, о чем большинство из нас, задававших этот вопрос, не думали, было "... позволяет преобразование назад и вперед ..."
@ Мухаммед Да, это так.
17

false == '';

сделать это для печати логических значений:

$bool = false;
echo $bool ? 'true' : 'false';

или же...

echo $bool ? 'yes' : 'no';
echo $bool ? '1' : '0';
5

1 и пустая строка соответственно.

Предположительно это делается для того, чтобы включить прозрачную обратную передачу между логическими значениями - & gt; строка - & gt; логическое значение.

По иронии судьбы, вы ответили перед принятым ответом с точно таким же объяснением, но ясно, что цитата - это все, что нужно. Я не знаю, как и почему я попал в этот пост, но я не мог удержаться от того, чтобы оставить бессмысленный комментарий, извините!

Похожие вопросы