ID: 29977 Updated by: [EMAIL PROTECTED] Reported By: hd dot php at aimail dot de -Status: Open +Status: Bogus Bug Type: Documentation problem Operating System: linux PHP Version: 4.3.10 / 5+ New Comment:
Already documented at http://php.net/language.types.boolean: "When converting to boolean, the following values are considered FALSE: ... the empty string, and the string "0" ... Every other value is considered TRUE." Previous Comments: ------------------------------------------------------------------------ [2005-03-14 08:46:21] mail at etarion dot de Well, it is documented. In the type juggling section it is said that the only strings evaluating to false are "" and "0". ------------------------------------------------------------------------ [2005-03-13 21:46:03] [EMAIL PROTECTED] Document it. ------------------------------------------------------------------------ [2004-09-05 10:04:55] [EMAIL PROTECTED] "00" is a string, like any other string. The only other string that will evaluate to false is "0". This may, however, be something we should fix, and at the very least document - what do others think? TRUE: $ php -r 'var_dump((bool)"00");' FALSE: $ php -r 'var_dump((bool)"0");' ------------------------------------------------------------------------ [2004-09-04 01:22:36] hd dot php at aimail dot de Description: ------------ * PHP Version 4.3.4 * bool cast of "0000000000000" should be false, not true. A "0000000000000" is returned from mysql timestamp fields. (bool)"0000000000000" should be consistent with (bool)(int)"0000000000000" At this point it is not. Reproduce code: --------------- <? echo((bool)"0000000000000"?"true":"false"); ?> Expected result: ---------------- false Actual result: -------------- true ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=29977&edit=1
