Внутри класса у меня есть три массива (в качестве переменных экземпляра), которые должны указывать на одни и те же объекты. Первый - это числовой индексный массив, который я возвращаю из некоторой внешней функции. Второй массив должен индексировать одни и те же объекты по их имени. Третье по другому свойству. Это для быстрого доступа через эти свойства. Итак, дело в том, что не имеет значения, какой массив я использую для доступа к объекту и его изменения.Как сделать по-разному индексированные массивы PHP указывать на одни и те же объекты
Однако это не может произойти. Я знаю о ссылках на PHP. Я знаю о ссылках на Java. Я знаю о указателях C, но я не могу этого сделать - везде, где я пытаюсь разместить амперсанд (= &).
class xxx {
private $objs;
private $objsByName;
public function __construct() {
$this->objs = getObjs();
$this->objsByName = array();
foreach($this->objs as $obj) {
$this->objsByName[$obj->getName()] = $obj;
}
}
}
Там нет места здесь, где я не пробовал заменить = с = &
Я что-то не хватает?
Добро пожаловать в StackOverflow. Вы можете форматировать исходный код с помощью кнопки '{}' панели инструментов (я сделал это для вас на этот раз). Не забудьте отметить как * Accepted * лучший ответ, который решает вашу проблему. –