PHP 4.0 Bug #6992 Updated: string "NULL" equals 0

From: Date: Tue, 10 Oct 2000 12:39:38 +0000
Subject: PHP 4.0 Bug #6992 Updated: string "NULL" equals 0
Groups: php.dev 
Request: Send a blank email to php-dev+get-34584@lists.php.net to get a copy of this message
ID: 6992 Updated by: stas Reported By: david@php.net Status: Closed Bug Type: Documentation problem Assigned To: Comments: OK, this is how PHP works, so it's clearly not a bug. Submit a feature request or use === if you don't like it. Previous Comments: --------------------------------------------------------------------------- [2000-10-04 01:30:17] waldschrott@php.net ($var === NULL ? "NULL" : "'$var'") should do the job --------------------------------------------------------------------------- [2000-10-04 01:16:31] david@php.net This is in the context of a db insert query: ($var == "NULL" ? "NULL" : "'$var'") where the text string NULL is used to signify null. Having to use === in this instance sucks bigtime. Why is PHP so deviant in this behaviour? Can we fix it? Maybe I should be using (is_int($var) == true and ($var === "NULL") != false). Yeah. Why would I ever want to compare a text string to zero? Bleurgh! --------------------------------------------------------------------------- [2000-10-03 08:43:14] waldschrott@php.net just saw this issue is already covered by documenation, but hairy things like "AZ"<="AAZ" not --------------------------------------------------------------------------- [2000-10-03 08:39:17] waldschrott@php.net hehe, you´ve been fooled by auto-conversion... :) <?php echo "CONERTMETOZERO"==0; ?> See? Perhaps we need some chapter about auto-conversion? Telling which rules apply comparing 'AZ' against 'A' or 'AAT' or 0 or whatever --------------------------------------------------------------------------- [2000-10-03 08:01:12] david@php.net The text string "NULL" compares equal to 0. This is rubbish. The string is not empty. NULL may compare equal to 0. The string containing NULL should not. [david@serena php4]$ ./php <? if ("NULL" == 0) echo "This is not good."; ?> X-Powered-By: PHP/4.0.3RC1 Content-type: text/html This is not good. ./configure --with-config-file-path=pwd --------------------------------------------------------------------------- The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online. Full Bug description available at: http://bugs.php.net/?id=6992

« previous php.dev (#34584) next »