SergXP
Новичок
Всем привет! Что-то интересное происходит, или я не догоняю))
по идеи print_r($element1); должен вывести массив:
но на самом деле получаю:
почему переменная $element1 меняет свое значение, присваивая значение, последнего вызова addElement()?
хотелось бы, чтобы $element1 и $element2 имели разные значения..
Спасибо!
PHP:
class A {
public $arr = array();
public $curr = null;
function addElement($element) {
unset($this->arr[$this->curr]); // удаляем предыдущий элемент, если убрать эту строку, массив будет накапливаться
$this->arr[$element] = null; // создаем пустой элемент
$this->curr = $element; // указатель на текущий элемент
return $this;
}
function setAttr($name,$value) {
$this->arr[$this->curr][$name] = $value; // какое-то значение для текущего элемента
return $this;
}
}
class B extends A {
function __construct() {
$element1 = $this->addElement('element1');
$element1->setAttr('type','circle');
$element2 = $this->addElement('element2');
$element2->setAttr('type','box');
print_r($element1);
}
}
$class = new B;
PHP:
Auth Object
(
[arr] => Array
(
[element1] => Array
(
[type] => circle
)
)
[curr] => element1
)
PHP:
Auth Object
(
[arr] => Array
(
[element2] => Array
(
[type] => box
)
)
[curr] => element2
)
хотелось бы, чтобы $element1 и $element2 имели разные значения..
Спасибо!