PHP: Объявить элемент массива имеет значение же указать другой элемент?

Пожалуйста, смотрите пример:

$array = array('001' => 'A', '002' => 'B', '002' => value of 001);

Я хочу объявить массив, как указано выше. Но мне нужно, чтобы значение элемента 002 всегда было одинаковым с элементом 001. Как я могу это сделать?

Пожалуйста, помогите мне. Огромное спасибо.

0

Решение

Чтобы сделать возможным это значение $array['002'] является всегда то же самое из $array['001'] вам нужно назначить его по ссылке:

$array = array( '001' => 'A' );
$array['002'] = &$array['001'];
//              -

При обычном присваивании создается копия исходного значения в новой переменной, поэтому — при изменении исходной переменной — новые созданные сохраняют старое значение. Используя ключевое слово & мы можем сделать присвоение по ссылке: таким образом, новая переменная указывает на исходную переменную (например, псевдоним или символическую ссылку для файлов) и отражает ее изменение.

Теперь, написание этого:

$array['001'] = 'B';
echo $array['002'];

результат:

B

так как $array['002'] отражает $array['001'] новое значение


Узнайте больше о Ссылки в php

1

Другие решения

Поскольку ваш вопрос не проясняет, откуда берутся значения, я бы сказал, что вы можете использовать

$val1 = 'A';
$array = array(
'001' => $val1,
'002' => $val1,
);
0

По вопросам рекламы [email protected]