время
|
|
Глава 6. Проблемы 25
их подробнее.
1. При таком способе формирования имен переменных их очень легко отличить
от остального кода. Если в других языках иногда может возникать путаница
с тем, что при первом взгляде на код не всегда ясно, — где здесь переменные, а
где функции, то в РНР этот вопрос даже не встает.
Глава 8. Типы данных 89
2. Данный принцип позволяет очень просто и элегантно реализовать функцио-
нальность, просто недоступную иначе. Например, ссылка на переменную по ее
имени, хранящемуся в другой переменной:
$name = 'value';
$value = 5 ; •
echo $$name;
В данном примере РНР выведет результат 5. Такие особенности стали возможны
из-за заложенного в РНР принципа: ?anything is an expression? (любая вещь являет-
ся выражением). Исходя из этого, РНР воспринимает выражение $$name следую-
щим образом:
• интерпретатор встречает символ $, а это значит, что следующее выражение яв-
ляется именем переменной;
• интерпретатор встречает еще один символ $ и продолжает поиски имени уже
другой переменной,