Ссылки в 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 может другая концепция ссылок?
  • Вопрос задан
  • 264 просмотра
Решения вопроса 1
@Narts
Ссылки в PHP - это средство доступа к содержимому одной переменной под разными именами. Они не похожи на указатели C; например, вы не можете делать вычисления над указателями, они не являются реальными адресами в памяти и т.д. Для получения дополнительной информации смотрите Чем ссылки не являются. Вместо этого указатели в PHP - это псевдонимы в таблице имен переменных.

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

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

Войти через центр авторизации
Похожие вопросы
DANYCOM Краснодар
от 50 000 до 100 000 ₽
ЭР-Телеком Пермь
от 80 000 ₽
ЧИТАЙ-ГОРОД Москва
от 140 000 до 210 000 ₽
30 мар. 2020, в 10:09
500 руб./в час
30 мар. 2020, в 09:48
120000 руб./за проект
30 мар. 2020, в 09:33
10000 руб./за проект