Поясните что за конструкция? ${'

273
06 сентября 2021, 05:00
$rand = new rand($db, $id);
${'rand__' . $rand->getName()} = explode(PHP_EOL, $rand->getValue());

В этом фрагменте мы получаем строки от $rand->getValue(), далее разбиваем их на массив дабы каждая строка была в каждом элементе массива, но что проиходит в

${'rand__' . $rand->getName()} 

?

Answer 1

Выражение в фигурных скобках вычисляется, затем получившаяся строка используется в качестве имени переменной, после чего берётся знчаение данной переменной.

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

READ ALSO
Webasyst ShopScript 7 ошибка Call to undefined method getLayout code 500 при разработке плагина

Webasyst ShopScript 7 ошибка Call to undefined method getLayout code 500 при разработке плагина

Занимаюсь разработкой плагина, в котором должно выполняться действие по ajax

182
Как получить пользователей для которых завершена обработка и посчитать сколько дней на это потрачено? [закрыт]

Как получить пользователей для которых завершена обработка и посчитать сколько дней на это потрачено? [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

287
Как создать INNER JOIN query в JPA Repository

Как создать INNER JOIN query в JPA Repository

Я хочу создать создать запросс для нахождения всех совпадающих записей в таблицах, но в случае с таблицами Customers и Payments при попытке создать...

162