Столкнулся с такой проблемой: В зависимости от некоторых параметров, "путь по массиву" может быть нескольких видов:
$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 может другая концепция ссылок?