I first stumbled upon this problem in one of the RCs for PHP 5, but at the
time I thought I was at fault...

Consider the documentation at
http://www.php.net/manual/en/language.oop5.object-comparison.php : the
documentation is a little vague, but it does say "Two object instances are
equal if they have the same attributes and values, and are instances of the
same class." Thus explaining the recursive loop...

Maybe write a big flashing note in the documentation instead about this
trap?

Jevon

----- Original Message ----- 
From: "Benj Carson" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, October 19, 2004 5:51 PM
Subject: Re: [PHP-DEV] Nesting level too deep - recursive dependency?


> If you use '===' it works as expected.  I don't know if the fact that '=='
> doesn't work is a bug or not, however.
>
>
> Benj Carson
>
>
> On October 18, 2004 09:39 am, Francisco M. Marzoa Alonso wrote:
> > This code:
> >
> > <?php
> >
> > class TestClass {
> >      public $myself;
> >
> >      function __construct () {
> >          $this->myself = $this;
> >      }
> > }
> >
> > $TestObj = new TestClass ();
> >
> > if ( $TestObj->myself == $TestObj ) {
> >      echo "They are same.\n";
> > }
> >
> > ?>
> >
> > Gives me a "Fatal error: Nesting level too deep - recursive dependency?"
> > on line #13: if ( $TestObj->myself == ...)
> >
> > Could this be a PHP bug or I'm doing something wrong?
> >
> > FYI:
> >
> > PHP Version 5.0.2
> > PHP API 20031224
> > PHP Extension 20040412
> > Zend Extension 220040412
> > Server API Apache 2.0 Handler
>
> -- 
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to