PHP 4.0 Bug #9979: (! $a == $b) and ($a != $b) discreprency
| From: | ying at zippydesign dot com | Date: | Sun, 25 Mar 2001 18:40:25 +0000 |
| Subject: | PHP 4.0 Bug #9979: (! $a == $b) and ($a != $b) discreprency | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-49911@lists.php.net to get a copy of this message | ||
From: ying@zippydesign.com
Operating system: Linux
PHP version: 4.0.4pl1
PHP Bug Type: Unknown/Other Function
Bug description: (! $a == $b) and ($a != $b) discreprency
I've noticed a difference in how (! $a == $b) and ($a != $b) behaves between in PHP 4.04pl1. I
think those should be syntactically equivalent, but with PHP 4.04pl1 they are not, whereas with
older versions they are. Here is a script to test this:
<?
$a = "foo";
$b = "bar";
echo "\nTest 1: ";
echo (! $a == $b) ? "true" : "false";
echo "\nTest 2: ";
echo ($a != $b) ? "true" : "false";
echo "\n";
?>
With PHP4.04pl1 the results are:
Test 1: false
Test 2: true
With PHP3.18 the results are:
Test 1: true
Test 2: true
It would seem that the results with PHP 4 are wrong here, please advise. Information about my
system follows:
OS: Redhat Linux
Kernel: 2.4.1
PHP Version: 4.04pl1
'./configure' '--disable-debug'
'--with-config-file-path=/usr/local/etc' '--enable-bcmath'
'--with-mysql' '--with-pgsql' '--with-gdbm' '--with-openssl'
'--with-curl' '--with-readline' '--enable-inline-optimization'
PHP Version: 3.18
./configure '--disable-debug' '--enable-force-cgi-redirect'
'--enable-track-vars' '--with-config-file-path=/etc/httpd/conf'
'--enable-sysvsem' '--enable-sysvshm' '--with-mysql'
I am using the standard php ini files (php.ini-dist and php3.ini-dist) with no changes in both
tests. Please advise.
--
Edit Bug report at: http://bugs.php.net/?id=9979&edit=1