2013-09-25 3 views
0
function return_true() { 
    return true; 
} 

function return_false() { 
    return false; 
} 

echo return_true(); //outputs 1 
echo return_false(); //outputs nothing 

Почему я не могу эхо вернуть return_false и получить 0? Извиняюсь, если это было задано раньше, но я не нашел ничего, что могло бы ответить на этот вопрос. Примечание. Я не говорю, что это то, что нужно сделать, я просто возился с bools в PHP и нашел это странным.Функция, которая возвращает только false, ничего не возвращает

+0

Becouse ничего не показывать. Becouse false = null или 0 в somecases. – Alker

+2

Потому что вы допустили ошибку, предполагая, что PHP имеет простые согласованные правила: http://www.php.net/manual/en/language.types.string.php#language.types.string.casting. (В более общем плане, http://www.php.net/manual/en/types.comparisons.php.) –

+3

вы не можете вывести false. попробуйте var_dump(), или echo (int) return_false(); – NemanjaLazic

ответ

2

Используйте var_dump() вместо echo, и вы получите желаемый результат.

echo выведет строку и логическое ложное отражение как строка всегда будет ничего/пустой

0

, если вы хотите проверить с вашим типом возвращаемого значения можно проверить с помощью PHP функции var_dump()

echo var_dump(return_true()); //outputs 1 
echo var_dump(return_false()); //outputs nothing 

он напечатает

ВЫВОД

bool(true) 
bool(false) 
Смежные вопросы