У меня есть массив, в котором хранятся некоторые объекты Employee ie.PHP - потеря ссылки в массиве объектов?
var $this->employeeArray = array();
$this->employeeArray[] = $empObjectA;
$this->employeeArray[] = $empObjectB;
...
, какой объект Employee имеет идентификатор, ПгвЬЫат, LastName и т.д. У меня также есть функции для поиска объекта сотрудника, который с определенным идентификатором. то есть:
public function searchArrayByID($id) {
$targetObject = null;
foreach($this->employeeArray as $e) {
if ($id == $e->id) {
$targetObject = $e;
break;
}
}//foreach
return $targetObject;
}
но когда я делаю:
$targetEmployee = $this->searchArrayByID(1);
$targetEmployee->firstName = "someOtherName";
и сделать
print_r($this->employeeArray);
, что объект внутри массива не изменяется.
, к сожалению, он не работает. Я использовал print_r как для $ targetEmployee, так и для $ this-> employeeArray. $ targetEmployee содержит изменения, в то время как obj в $ this-> employeeArray не – Josh
Я использую php 5.3.15 (mac) – Josh
plz сообщите мне, что php verion вы используете, как я уже сказал, старая версия php плоха с ссылка, она имеет тенденцию копировать много. и некоторые ручные ссылки не разрешены в более новой версии, вот почему я не могу сказать, какой код будет работать для вас – x4rf41