Я просто хотел бы упомянуть, что использование переменных переменных, как правило, является признаком неоптимальной архитектуры хранения данных, но могут быть и некоторые незначительные случаи, когда может быть получено преимущество.Однако, как правило, старайтесь по возможности избегать переменных переменных.
Пожалуйста, прочитайте о Унифицированный синтаксис переменных .
https://www.oreilly.com/ideas/upgrading-to-php7#uniform_variable_syntax
Вы должны обернуть свою динамическую переменнуюсвойство в фигурных скобках.
$translator->{$textTranslated['name']} = $textTranslated['value'];
// ^-----------------------^
Это устраняет потенциальную путаницу / несогласованность при попытке оценить линию.Опять же, смотрите мой связанный документ.
Я имею в виду, что ваш код может делать что-то совершенно другое, например:
Вы хотите сохранить данные как элемент с ключом name
в свойстве $translator->$textTranslated
(свойство переменной).... нет, но я просто говорю, что это улучшение php7 устраняет двусмысленность при чтении слева направо.
Для записи, вот синтаксис альтернативы (который вы не должны 'т для вашей задачи):
($translator->$textTranslated)['name'] = $textTranslated['value'];
Видите разницу?
Дополнительные ссылки: