# Object comparison bug?

- Thread: https://externals.io/message/12503
- Original archive: https://news-web.php.net/php.internals/12503
- Started by Christian Stocker on 2004-08-31T12:17:30+00:00
- Messages: 2
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #12503 — Christian Stocker — 2004-08-31T12:17:30+00:00

URL: https://externals.io/message/12503#12503

Hi

The following came up in a bug report (http://bugs.php.net/?id=29911 , 
but it doesn't matter, as he tried something which doesn't work either way)

<?php
class foo {};
$foo1 = new foo();
$foo2 = new foo();
var_dump($foo1 == $foo2);
?>

prints now true, but according to Derick and 
http://talks.php.net/show/migrating-ffm/8 it should print false in PHP 5

Bug or expected behaviour?

(I don't care much, since I wouldn't compare objects that way in the 
first place ;) )

chregu


-- 
christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich
phone +41 1 240 56 70 | mobile +41 76 561 88 60  | fax +41 1 240 56 71
http://www.bitflux.ch  |  chregu@bitflux.ch  |  gnupg-keyid 0x5CE1DECB

---

## #12516 — Andi Gutmans — 2004-09-01T05:01:46+00:00

URL: https://externals.io/message/12503#12516 · In reply to: #12503

Hi Christian,

This was a backwards compatibility issue and therefore, we made sure that 
PHP 5 behaves the same way as PHP 4. So if both objects are PHP objects it 
will do a PHP 4 object comparison.
If you use === (is identical) then we will only compare handles unless in 
zend1.compatibility_mode.
This should give people the best of both worlds being able to choose 
comparison (==) or strict identical (===).

Andi

At 02:17 PM 8/31/2004 +0200, Christian Stocker wrote:
>Hi
>
>The following came up in a bug report (http://bugs.php.net/?id=29911 , but 
>it doesn't matter, as he tried something which doesn't work either way)
>
><?php
>class foo {};
>$foo1 = new foo();
>$foo2 = new foo();
>var_dump($foo1 == $foo2);
>?>
>
>prints now true, but according to Derick and 
>http://talks.php.net/show/migrating-ffm/8 it should print false in PHP 5
>
>Bug or expected behaviour?
>
>(I don't care much, since I wouldn't compare objects that way in the first 
>place ;) )
>
>chregu
>
>
>--
>christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich
>phone +41 1 240 56 70 | mobile +41 76 561 88 60  | fax +41 1 240 56 71
>http://www.bitflux.ch  |  chregu@bitflux.ch  |  gnupg-keyid 0x5CE1DECB
