ID:              43983
 User updated by: rubens21 at gmail dot com
 Reported By:     rubens21 at gmail dot com
-Status:          Feedback
+Status:          Open
 Bug Type:        Scripting Engine problem
 PHP Version:     5.2.5
 New Comment:

I'm sorry, 'The same' = 'The same problem'

CODE:
$test = new stdClass();
$Objeto = new stdClass();

$test->valor = "The first value";
$Objeto->valorDeTeste[] = $test;

$test->valor = "The second value";

echo "<pre>";
print_r($Objeto->valorDeTeste);
echo "<br />";
var_dump($Objeto->valorDeTeste);
echo "</pre>";








Array
(
    [0] => stdClass Object
        (
            [valor] => The second value
        )

)

array(1) {
  [0]=>
  object(stdClass)#1 (1) {
    ["valor"]=>
    string(16) "The second value"
  }
}


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

[2008-02-24 19:44:21] [EMAIL PROTECTED]

That's impossible, the output of var_dump() differs a LOT from
print_r(). So can you please really test it?

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

[2008-02-23 17:04:12] rubens21 at gmail dot com

"What does it output when you replace print_r() with var_dump() ?"

R: The same

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

[2008-02-01 22:28:15] [EMAIL PROTECTED]

What does it output when you replace print_r() with var_dump() ?

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

[2008-01-30 15:40:53] rubens21 at gmail dot com

This example is more simple:

$test = new stdClass();
$Objeto = new stdClass();

$test->valor = "The first value";
$Objeto->valorDeTeste[] = $test;

$test->valor = "The second value";
print_r($Objeto->valorDeTeste);


Expected:
Array
(
    [0] => stdClass Object
        (
            [valor] => The first value
        )

)

Actual

Array
(
    [0] => stdClass Object
        (
            [valor] => The second value
        )

)

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

[2008-01-30 15:37:54] rubens21 at gmail dot com

Description:
------------
change atribute of a class, and arrays that received values is change
too.
I know that the bug #33207
(http://bugs.php.net/bug.php?id=33207&edit=2) describes this same
problem, but there is not the solution and the id of the other related.

Reproduce code:
---------------
$test = new stdClass();
$Objeto = new stdClass();

$test->valor = "No Change!";
$Objeto->valorDeTeste[] = $test;

$test->valor = "Yes, change!";
$Objeto->valorDeTeste[] = $test;

print_r($Objeto->valorDeTeste);

Expected result:
----------------
Array
(
    [0] => stdClass Object
        (
            [valor] => No Change!
        )

    [1] => stdClass Object
        (
            [valor] => Yes, change!
        )

)

Actual result:
--------------
Array
(
    [0] => stdClass Object
        (
            [valor] => Yes, change!
        )

    [1] => stdClass Object
        (
            [valor] => Yes, change!
        )

)


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


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

Reply via email to