Когда вы устанавливаете $arr = $_SESSION['files']
, вы фактически делаете копию $_SESSION['files']
. Все, что вы делаете для $arr
, не сделано для оригинала.
Попробуйте это:
$arr =& $_SESSION['files'];
Обратите внимание на амперсанд после знака равенства. Это сделает $arr
ссылкой на $_SESSION['files']
, и ваши обновления $arr
также затронут $_SESSION['files']
, так как они оба ссылаются на один и тот же контент. *
Другое решение, конечно, просто скопировать массив обратно, поставив $_SESSION['files'] = $arr;
в конце вашей функции.