Решил написать небольшое выражение, преобразующее простые имена переменных в коде на входе в глобальные имена через массив $GLOBALS на выходе.
echo preg_replace('#\$([^_][A-z0-9_]*)#is', '$GLOBALS["\\1"]', '$var_a $arr["aaa_1"]["bbb_2"]');
С обычными переменными все работает нормально ($var_a), но вот если попадается переменная - элемент массива ($arr["aaa_1"]["bbb_2"]), происходит какая-то лажа. Бился целый час, не могу понять - что не так?
_____________
Меньше кода - меньше багов ©