Обычно вы можете установить переменную php для вызова функции с использованием строки. Например:
$myVariable = 'myClassVariable';
$this->$myVariable; // works!
Однако как передать строку, если задействован массив? (см. ниже)
$this->someVariable['my_field']; // works
$callName = 'someVariable["my_field"]';
$this->$callName; // doesn't work
Я также пробовал $callName = ${'someVariable["my_field"]'}, и это тоже не работает.
$callName = $someVariable["my_field"];Нет - это дает недопустимую ошибку смещения строки ..: s
Кажется, что в ваших примерах кода нет ничего общего с функциями. Думаю, я понимаю, что вы пытаетесь, но PHP работает не так. Строка, содержащая квадратные скобки, не может затем использоваться для определения элементов массива (без использования eval, но тогда у вас возникнут дополнительные проблемы)






2 отдельных примера выше, я изменил формулировку, чтобы сделать образцы более понятными.