<?php
class Item {
public static function newWithParent(Item $parent)
{
$item = new Item();
$item->parent = $parent;
return $item;
}
private $parent;
public function getParent()
{
return $this->parent;
}
}
$item = Item::newWithParent(Item::newWithParent(Item::newWithParent(new Item())));
// Basically it's this now: {"parent":{"parent":{"parent":{"parent":null}}}}
// I want to set that null value
do {
$item = $item->getParent();
if ($item->getParent() === null) {
$item =& Item::newWithParent($item);
break;
}
} while (true);
var_dump($item);
Notice: Only variables should be assigned by reference in /in/mIuW0 on line 25
object(Item)#2 (1) {
["parent":"Item":private]=>
object(Item)#1 (1) {
["parent":"Item":private]=>
NULL
}
}
Strict Standards: Only variables should be assigned by reference in /in/mIuW0 on line 25
object(Item)#2 (1) {
["parent":"Item":private]=>
object(Item)#1 (1) {
["parent":"Item":private]=>
NULL
}
}
Output for 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Strict Standards: Only variables should be assigned by reference in /in/mIuW0 on line 25
object(Item)#2 (1) {
["parent:private"]=>
object(Item)#1 (1) {
["parent:private"]=>
NULL
}
}
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/mIuW0 on line 4
Process exited with code 255.
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/mIuW0 on line 4
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/mIuW0 on line 4
Process exited with code 255.