Изменение ключа массива по ссылке

Николай L

Здравствуйте, поиск информации в интернете не дал результатов.
Итак вопрос: возможно ли сформировать код, чтобы значение ключа массива менялось через использование жёсткой ссылки и равнялось конечному значению массива, т.е. допустим было:

Код (Text):
  1.  $a = [0 => [100 => [‘a’ => 100]]]

сделали

Код (Text):
  1. $c_p = &$a[0][100][‘a’]; $c_p = 30

стало

Код (Text):
  1. $a = [0 => [30 => [‘a’ => 30]]]

.

Общий код программы:

Код (Text):
  1. <?php
  2. // создали массив
  3. $key = 10;
  4. $c = 20;
  5. $a = [0 => [$key => [‘a’ => $c]]];
  6. print_r ($a);
  7.  
  8. // заменили конечное значение массива
  9. $c_p = &$a[0][$key][‘a’];
  10. $c_p = 30;
  11. print_r ($a);
  12.  
  13. // приравняли конечное значение ключу массива
  14. // использовано много комбинаций, приведён только 1 пример
  15. $key = &$a[0][$key][‘a’];
  16. $c_p = 50; // этот код меняет конечное значение
  17. //$a = [0 => [$key => [‘a’ => $c]]]; // активация этого кода меняет значение ключа, а значение $с остаётся 20
  18. print_r ($a);
  19.  
  20. ?>
 

roboformation

В php, вроде, нельзя изменять ключ массива (не считая регистра)

PHP:
  1.      
  2.       $n = 100;
  3.       $a = [0 => [$n => [‘a’ => $n]]];
  4.       print_r ($a);
  5.  
  6.       $n = 30;
  7.       $a = [0 => [$n => [‘a’ => $n]]];
  8.       print_r ($a);

Проще уж так сделать

 

Николай L

Понятно, спасибо)

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *