Привет, Гость!
home login register
[+] Купить Рекламу
Хостинг для тебя! Заходи не пожалеешь
Что мы делаем полезного на официальном сайте WAP-поддержки? Подробно ...
Вступайте в нашу группу ВКОНТАКТЕ
Поздравляем, новичка с ID:1000
Как самомусделать QR-код
IT новости: в Windows новая опасная уязвимость
Проблемы восприятия IT
Как подтвердить авторство в Google

Учебник PHP #2
<< 1 ... 3 4 5
— для этого в команде присваивания перед именем исходной переменной ставится второй знак $:

$$recipe = "& meatballs";

Эта команда присваивает строку "& meatballs" переменной с именем "spaghetti". Следовательно, следующие две команды выводят одинаковые результаты:

print $recipe $spaghetti;

print $recipe $($recipe);

В обоих случаях будет выведена строка "spaghetti & meatballs".

Стандартные переменные

В РНР поддерживается ряд стандартных переменных, предоставляющих в распоряжение программиста довольно подробную информацию о внутренней конфигурации. Значения одних переменных задаются РНР, другие изменяются в зависимости от операционной системы и web-сервера, с которыми работает РНР.

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

Чтобы получить полный список переменных web-сервера, окружения и РНР, определенных для вашей конфигурации системы, достаточно выполнить следующий фрагмент:

while (list($var,$value) = each($GLOBALS)) :

echo "<BR>$var => $value";

endwhile;

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

GLOBALS =>

HTTP_GET_VARS => Array

HTTP_COOKIE_VARS => Array

HOSTSIZE => 1000

HOSTNAME => server1.apress.com

LOGNAME => unstrung

HISTFILESIZE => 1000

REMOTEHOST => apress.com

MAIL -> /var/spool/mail/apress

MACHTYPE => 1386

TERM => vt100

HOSTTYPE => i386-linux

PATH =>

/usr/sbin:/sbin:/usr/local /bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/Java/bin

HOME => /root

INPUTRC => /etc/inputrc

SHELL => /bin/csh

USER => nobody

VENDOR => intel

GROUP => root

HOST => server1.apress.com

OSTYPE => linux

PWD => /www/bin

SHLVL => 3_ => /www/bin/httpd

DOCUMENT_ROOT => /usr/local/apress/site.apress

HTTP_ACCEPT => */*

HTTP_ACCEPT_ENCODING => gzip, deflate

HTTP_ACCEPT_LANGUAGE => it.en-us;q=0.5

HTTP_CONNECTION -> Keep-Alive

HTTP_HOST => www.apress.com

HTTP_USER_AGENT => Mozilla/4.0 (compatible; MSIE 5.0: Windows 98;

CNETHomeBuild051099)

REMOTE_ADOR => 127.0.0.1

REMQTE_PORT => 3207

SCRIPT_FILENAME => /usr/local/apress/site.apress/j/environment_vars.php

SERVER_ADDR => 127.0.0.1

SERVER_AOMIN => admin@apress.com

SERVER_NAME => www.apress.com

SERVERJORT => 80

SERVER SIGNATURE =>

Apache/1.3.12 Server at www.apress.com Port 80

SERVER_SOFTWARE => Apache/1.3.12 (Unix) PHP/4.0.1

GATEWAY_INTERFACE => CGI/1.1

SERVER_PROTOCOL => HTTP/1.1

REQUEST_METHOD => GET

QUERY_STRING =>

REQUEST_URI => /j/environment_vars.php

SCRIPT_NAME => /j/environment_vars.php

PATH_TRANSLAETD => /usr/local/apress/site.apress/j/environment_vars.php

PHP_SELF => /j/environment_vars.php

argv => Array

argc => 0

var => argc

value => argc

Как видите, стандартные переменные содержат разнообразные сведения — как полезные, так и не очень. Вы можете вывести любую из этих переменных по имени. Например, следующая команда выводит IP-адрес пользователя:

print "Hi! Your IP address is: $REMOTE_ADDR";

IP-адрес выводится в числовой форме (например, 208.247.106.187).

Кроме того, стандартные переменные могут использоваться для сбора информации о браузере и операционной системе пользователя. Команда

print "Your browser is: $HTTP_USER_AGENT";

возвращает информацию следующего вида:

Your browser is: Mozina/4.0 (compatible: MSIE 5.0; Windows 98: CNETHomeBuild051099)

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

Для работы с массивами стандартных переменных необходимо включить директиву track_vars в файл php.ini. В РНР версии 4.0.3 директива track_vars включена постоянно.

Константы

Константой называется именованная величина, которая не изменяется в процессе выполнения программы. Константы особенно удобны при работе с заведомо постоянными величинами — например, числом π (3,141592) или количеством футов в миле (5280).

В РНР константы определяются функцией define( ). После того как константа будет определена, вы не сможете изменить (или переопределить) ее в этой программе.

Например, определение числа я в сценарии РНР может выглядеть так:

define("'PI", "3.141592");

Определенную константу можно использовать в программе:

print "The value of pi is". PI."<br>";

$pi2 - 2 * PI:

print "Pi doubled equals $pi2.";

Результат работы этого фрагмента будет таким:

The value of pi is 3.141592.

Pi doubled equals 6.283184.

В этом фрагменте следует обратить внимание на два обстоятельства. Во-первых, в именах констант не указывается знак доллара. Во-вторых, константу невозможно модифицировать (например, присвоить ей величину 2*РI); если константа используется в вычислениях, то результат приходится сохранять в другой переменной.

Итоги

В этой главе был изложен довольно обширный материал, необходимый для понимания и самостоятельного написания простых программ на РНР. В частности, мы рассмотрели следующие темы:

допустимые типы данных (целые и вещественные числа, строки, массивы, объекты, логические величины);
идентификаторы;
переменные (объявление, область действия);
переключение типов;
преобразование типов;
присваивание значений переменным (по значению, по ссылке);
константы.

Этот материал закладывает основу для создания более сложных сценариев. В следующей главе мы перейдем к подробному изучению выражений, операторов и управляющих конструкций языка РНР. К концу главы 3 ваших новых знаний хватит для того, чтобы построить первое приложение РНР — простейший календарь.
Комментарии (0)
<< 1 ... 3 4 5
Скачать Java книгу

»php/mysql/pdo/js
В библиотеку

На главную

Сообщество wap разработчиков I HwapCMS официальный сайт поддержки


RSS-лента
Генерация: 0.0206 сек.