Изменяемые переменные Иногда бывает удобно давать переменным изменяемые имена. Такие имена могут изменяться динамически. Обычная перемена

Изменяемые переменные

Иногда бывает удобно давать переменным изменяемые имена. Такие имена могут изменяться динамически. Обычная переменая устанавливается так:
$a = «hello»;


Изменяемая переменная берет некое значение и обрабатывает его как имя переменной. В приведенном выше примере значение hello может быть использовано как имя переменной, посредством применения двух записанных подряд знаков доллара, т.е.:
$$a = «world»;


С этой точки зрения, две переменных определены и сохранены в символьном дереве PHP: $a с содержимым «hello» и $hello с содержимым «world». Так, инструкция:
echo «$a ${$a}»;


осуществляет то же самое, что и инструкция:
echo «$a $hello»;


а именно, обе они выводят: hello world.

Чтобы использовать изменяемые переменные с массивами, необходимо решить проблему неоднозначности. Это означает, что если вы пишете $$a[1], то синтаксическому анализатору необходимо знать, имеете ли вы в виду использовать $a[1] как переменую, или вы предполагаете $$a как переменную а [1] как индекс этой переменной. Синтаксис для разрешения подобной неоднозначности такой: ${$a[1]} для первого случая и ${$a}[1] для второго.
Переменные вне PHP
HTML Формы (GET и POST)

Когда программой-обработчиком формы является PHP-скрипт, переменные этой формы автоматически доступны для данного скрипта PHP. Например, рассмотрим следующую форму:
Пример 5-2. Простая переменная формы

Name:






При активизации формы PHP создаст переменную $name, значением которой будет то содержимое, которое было введено в поле Name: данной формы.

PHP также воспринимает массивы в контексте переменных формы, но только одномерные. Вы можете, например, группировать взаимосвязанные переменные вместе или использовать это свойство для определения значений переменных при множественном выборе на входе:
Пример 5-3. Более сложные переменные формы

Name:

Email:

Beer:


Warthog
Guinness






Если PHP-атрибут track_vars включен, через установку конфигурации track_vars или директивой , тогда переменные, активизированные посредством методов POST или GET, будут также находиться в глобальных ассоциативных массивах $HTTP_POST_VARS и $HTTP_GET_VARS соответственно.
Имена переменных РИСУНКА АКТИВИЗАЦИИ

При активизации (запуске) формы можно использовать рисунок (изображение) вместо стандартной кнопки запуска, в тэге подобном этому:



Когда пользователь нажимает кнопку мыши где-либо над таким рисунком, сопровождающая форма передается на сервер с двумя дополнительными переменными, sub_x и sub_y. Они содержат координаты места нажатия кнопки мыши пользователем внутри данного рисунка. Можно отметить, что практически, реальные имена переменных передаваемые браузером, содержат точку вместо символа подчеркивания, но PHP конвертирует точку в элемент подчеркивания (underscore) автоматически.
HTTP Кукисы

PHP очевидным образом поддерживает HTTP кукисы, как это определено в Netscape’s Spec. Кукисы являются механизмом хранения данных в удаленном браузере, используемым для поддержки процедуры обмена или идентификации ответа пользователя. Кукисы можно устанавливать используя функцию SetCookie(). Кукисы являются частью заголовка HTTP, поэтому функция SetCookie() должна вызываться прежде чем какие-либо передаваемые данные посылаются браузеру. Это такое же ограничение, как и для функции Header(). Любые кукисы, посылаемые вам клиентом, автоматически преобразовываются в переменные PHP, также как данные методов GET и POST.

Если необходимо назначить множественные значения одному кукису, просто добавьте квадратные скобки [ ] к имени кукиса. Например:
SetCookie («MyCookie[]», «Testing», time()+3600);


Учтите, что текущий кукис заменит предыдущий с тем же именем в вашем браузере, если только путь или домен не являются различными. Поэтому, при работе с программами обслуживания карт вы можете использовать для сохранения данных счетчик и посылать его значения дальше и т.п.
Пример 5-4. Пример функции SetCookie
$Count++;
SetCookie («Count», $Count, time()+3600);
SetCookie («Cart[$Count]», $item, time()+3600);


Переменные окружения

PHP автоматически создает переменные окружения, как и обычные переменные.
echo $HOME; /* Показывает переменную окружения HOME,
если она установлена. */


Хотя при поступлении информации механизмы GET, POST и Cookie также атоматически создают переменные PHP, иногда лучше явным образом прочитать переменную окружения, для того чтобы быть уверенным в получении ее правильной версии. Для этого может использоваться функция getenv(). Для установки значения переменной окружения пользуйтесь функцией putenv().
 

Мой блог находят по следующим фразам

Данная статья "Изменяемые переменные Иногда бывает удобно давать переменным изменяемые имена. Такие имена могут изменяться динамически. Обычная перемена" размещена на сайте Компьютерные сети и многоуровневая архитектура интернета (conlex.kz) в ознакомительных целях.

Уточнения, корректировки и обсуждения статьи "Изменяемые переменные Иногда бывает удобно давать переменным изменяемые имена. Такие имена могут изменяться динамически. Обычная перемена" - под данным текстом, в комментариях.

Ответственность, за все изменения, внесённые в систему по советам данной статьи, Вы берёте на себя.

Копирование статьи "Изменяемые переменные Иногда бывает удобно давать переменным изменяемые имена. Такие имена могут изменяться динамически. Обычная перемена", без указания ссылки на сайт первоисточника Компьютерные сети и многоуровневая архитектура интернета (conlex.kz), строго запрещено.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *