ID: 10658
Updated by: jeroen
Reported By: [EMAIL PROTECTED]
Old Status: Open
Status: Suspended
Bug Type: Arrays related
Operating System: Linux
PHP Version: 4.0.5
New Comment:

The problem is that array_diff compares the string-represantation of the arguments.

And in the case of objects, it is always "Object", and thus considered equal.

This is currently expected behaviour, though it'd be be better if it weren't... 
string-comparasation by array_diff & co is not satisfactionary in case of objects. 
(nor arrays)

Suspended.

Previous Comments:
------------------------------------------------------------------------

[2001-05-04 03:36:46] [EMAIL PROTECTED]

Consider the following script:

<?
class test 
{
        var $x;
        var $y;
        
        function test ()
        {
                $this->x = 0;
                $this->y = 0;
        }
        
        function set ($x, $y)
        {
                $this->x = $x;
                $this->y = $y;
        }
        
}
$mumu = array();
$gaga = array();

for($i=0;$i<3;$i++)
{
        $test = new test ();
        $test->set($i, $i);
        $mumu["xx".$i] = $test;
}

for($i=0;$i<5;$i++)
{
        $test = new test ();
        $test->set($i, $i);
        $gaga["xx".$i] = $test;
}

$fff = array_diff($mumu, $gaga);
$ggg = array_diff($gaga, $mumu);

echo "<pre>";
print_r($fff);
echo "</pre>";

echo "<pre>";
print_r($ggg);
echo "</pre>";
?>



the following is the output from a server with php 
4.0.4pl1:
Array
(
)
Array
(
    [xx3] => test Object
        (
            [x] => 3
            [y] => 3
        )

    [xx4] => test Object
        (
            [x] => 4
            [y] => 4
        )

)


and the following is the ouput with php 4.0.5:
Array
(
)
Array
(
)

the php.ini is the same on both servers.



------------------------------------------------------------------------



Edit this bug report at http://bugs.php.net/?id=10658&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to