ID: 43935 User updated by: james dot laver at gmail dot com Reported By: james dot laver at gmail dot com Status: Open Bug Type: Scripting Engine problem Operating System: GNU/Linux PHP Version: 5.2.5 New Comment:
That's not the result I get here. Have tried this both with home compiled PHP and with rPath's binaries [EMAIL PROTECTED] ~]$ php -v PHP 5.2.5 (cli) (built: Jan 25 2008 13:02:08) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies Previous Comments: ------------------------------------------------------------------------ [2008-01-25 16:53:32] php at zjs dot name In your description, you use "(1 == 'foo')" and "(true == 'foo')" interchangeably. "(1 == 'foo')" isn't the same as "(true == 'foo')". Try (using your structure) running: echo "(true == 'foo') value: " . (true == 'foo') . "<br />"; echo "(1 == 'foo') value: " . (1 == 'foo') . "<br />"; echo "(true === 'foo') value: " . (true === 'foo') . "<br />"; echo "(1 === 'foo') value: " . (1 === 'foo') . "<br />"; Expected result (based on documentation is): (true == 'foo') value: 1 (1 == 'foo') value: (true === 'foo') value: (1 === 'foo') value: I also created a short test case to ensure that my results matched the documentation (they did). If you're interested in running it (results look like http://people.clarkson.edu/~shephezj/temp/comparison_test.php) it's available at http://people.clarkson.edu/~shephezj/temp/comparison_test.phps. (Yes, I know that's a terrible way to code it, but I didn't want to risk having something interfere with the results). ------------------------------------------------------------------------ [2008-01-25 14:11:06] james dot laver at gmail dot com Description: ------------ (1 == 'foo') returns boolean true The documentation claims otherwise (see http://www.php.net/manual/en/types.comparisons.php) Logically this cannot be true, and it should not be necessary to use === to perform this. Reproduce code: --------------- echo "value: " . (true == 'foo'); Expected result: ---------------- "value: 0" Actual result: -------------- "value: 1" ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=43935&edit=1