Прохождение по ссылке; почему исходный объект не изменяется?

Если объекты передаются по ссылке в PHP5, то почему $ foo ниже не меняется?

$foo = array(1, 2, 3);
$foo = (object)$foo;

$x = $foo;            // $x = &$foo makes $foo (5)!
$x = (object)array(5);

print_r($foo); // still 1,2,3

итак:

Передача по ссылке не то же самое как assign.

, тогда почему $ foo ниже (100, 2, 3) ?

$foo = array('xxx' => 1, 'yyy' => 2, 'zzz' => 3);
$foo = (object)$foo;

$x = $foo;            
$x->xxx = 100;

print_r($foo);
5
задан Lightness Races with Monica 28 May 2011 в 23:27
поделиться