PHP: массив для самостоятельной привязки

Есть ли способ ссылки на массив из массива? Это может иметь смысл в формате кода:

$array=array( "Key1"=>array( "Value1", "Value2" ), "Key2"=>&$this['Key1'] ); 

Я хочу, чтобы $array['Key2'] то же, что и $array['Key1'] . Я могу добавить $array['Key2']=&$array['Key1']; после создания массива, но хотелось бы сохранить все это в одном блоке кода, если это возможно.

Я проверил документы по ссылкам, а также некоторые из них предлагают похожие вопросы и поиск «ссылки на php-массив».

Ответ на этот вопрос, как оказалось, – «Да». Однако он не является аккуратным синтаксисом, так как он использует своего рода подзапрос и оставляет текущую область, заполненную дополнительной ссылочной переменной.

Рассмотрим следующий код:

 <?php $array = array( // Creates Key1 and assigns the value to it // A copy of the value is also placed in $ref // At this stage, it's not a reference "Key1"=>($ref = array( "Value1", "Value2" )), // Now Key2 is a reference to $ref, but not to Key1 "Key2"=>&$ref, // Now everything is referenced together "Key1"=>&$ref ); 

Я был удивлен, что это сработало без ошибок, но это так – вот доказательство . Конечно, вы бы этого не сделали, но вы можете …

Невозможно сделать это в одном блоке, потому что вы еще не инициализировали переменную. То же самое с переменными класса. Чтобы сделать такую ​​вещь, вам нужно будет создать любую переменную любым способом, а не использовать только ее ссылки, но ее использование памяти, так что еще раз, реальный ответ на ваш вопрос – невозможно 🙂