PHP 4.0 Bug #9979 Updated: (! $a == $b) and ($a != $b) discreprency
| From: | elixer@php.net | Date: | Sun, 25 Mar 2001 22:14:46 +0000 |
| Subject: | PHP 4.0 Bug #9979 Updated: (! $a == $b) and ($a != $b) discreprency | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-49915@lists.php.net to get a copy of this message | ||
ID: 9979
Updated by: elixer
Reported By: ying@zippydesign.com
Old-Status: Open
Status: Feedback
Bug Type: Scripting Engine problem
Assigned To:
Comments:
Looking at http://www.php.net/manual/en/language.operators.precedence.php
I see that the comparison operators have lower precendence than the negation operator, so in essence
you are saying that the following two expressions should be equivalent:
(!$a) == $b
$a != $b
Is that correct?
Sean
Previous Comments:
---------------------------------------------------------------------------
[2001-03-25 13:40:25] ying@zippydesign.com
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.
---------------------------------------------------------------------------
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=9979&edit=2