Обьявление переменных с использованием фигурных скобок?

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

Всё бы ничего, но взгляд зацепился за конструкцию

<font color="black"><font color="#0000ff">if</font>(!${0}) log(<font color="#A31515">'Writing failed'</font>);</font><br/>



Вопрос вот в чём- зачем в языке есть возможность обьявлять переменные в фигурных скобках и почему я могу, используя такой метод давать им цифровые имена?
  • Вопрос задан
  • 11109 просмотров
Решения вопроса 2
Nodge
@Nodge
Использование фигурных скобок позволяет применять обращение к идентификатору с вариативным именем.

Простой пример:
$name = 'value';
$value = 'test'; 
echo ${$name}; // выведет test


Также можно обращаться к свойствам объекта:
$name = 'propertyName';
echo $object->{$name};
Ответ написан
DevMan
@DevMan Куратор тега PHP
Не читайте больше таких статей — от укорачивания кода больше проблем, чем выгод.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
akalend
@akalend
программирую
> if(!${0}) log('Writing failed');
Идиоты код писали
Прошли те времена, когда экономили байты.

сейчас есть байт-кешеры (акселераторы), которые кешируют опкод, по этому — это экономия не эффективная.

код должен быть понятен прежде всего программисту, а потом уже машине.
Ответ написан
amduscias
@amduscias
$name = 'propertyName';
echo $object->{$name};

Если не ошибаюсь, то в данном случае {} можно опустить.
Мне кажется, что тут лучше подойдёт такая ситуация:
echo $object->{$name+"_index"};
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы