Ссылки в php != ссылки в Си?

Столкнулся с такой проблемой: В зависимости от некоторых параметров, "путь по массиву" может быть нескольких видов:
$arr['1']['2']['3']['4']['data'], $arr['1']['2']['3']['data'], $arr['1']['2']['3']['4']['5']['data'] (условно)

Чтобы не строить лестницу из логических выражений и не дублировать почти один и тот же код для каждого случая, реализовал все через ссылки

if(){
$path = &$arr['1']['2']['3']['4'];  
}elseif(){
$path = &$arr['1']['2']['3'];  
} 
... etc


Проблема в том, что когда я изменяю значение $path['data'], то у исходного массива ничего не изменяется и в конце приходится присваивать $arr['1']['2']['3']['4'] = $path.

Но мне кажется, что что-то не так должны ссылки работать. Например в си, присваиваешь переменной ссылку другой переменной, и все операции действуют на обе переменные. У php может другая концепция ссылок?
  • Вопрос задан
  • 261 просмотр
Решения вопроса 1
@Narts
Ссылки в PHP - это средство доступа к содержимому одной переменной под разными именами. Они не похожи на указатели C; например, вы не можете делать вычисления над указателями, они не являются реальными адресами в памяти и т.д. Для получения дополнительной информации смотрите Чем ссылки не являются. Вместо этого указатели в PHP - это псевдонимы в таблице имен переменных.

Ссылки в php
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 55 000 до 80 000 руб.
WACDAQ Москва
от 120 000 руб.
Paxport Москва
от 140 000 до 190 000 руб.
22 авг. 2019, в 11:45
1000 руб./за проект
22 авг. 2019, в 11:33
250000 руб./за проект
22 авг. 2019, в 11:09
600 руб./в час