Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Что такое PHP.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
120.83 Кб
Скачать

Переменные переменные

Скорее всего скоро вам понадобятся переменныес динамически (в ходе работы скрипты) изменяемым наименованием. Поясню на пример, что я имею ввиду:

$a = "hello"; $$a = "world";

Данная запись означает, что переменной с именем a мы присваиваем значение "hello". Следующей операцией переменной с именем, хранящимся в переменной с именем a, то есть - переменной hello мы присваиваем занчение "world"

echo "$a ${$a}";

тоже самое, что и

echo "$a $hello";

В результаты мы получим на экране hello world

Дело ненмого усложняется, если вы хотите использовать подобные массивы. Ведь если вы запишете $$a[1] - интерпретатору надо будет знать, что использовать в качестве переменной - $a или $$a (имя, зранящееся в $a). В таком случаем вам прийдется исопльзовать следующий синтаксис - ${$a[1]} в случае, если вы хотите использовать переменную с именем, зранящимся в массиве $a с индексмо 1 и ${$a}[1] в другом случае (если вы хотите использовать элемент 1 массива с именем, зранящимся в переменной $a.

Прыжок на месте

Мы продолжаем наш концерт, а за одно и рассматривать основы PHP. Сегодня начнем с внешних переменных.

HTML Формы (GET и POST)

После заполнения пользователем HTML формы PHP может получить доступ к этим данным через переменные, имеющие такие-же название, что и поля в форме. Как всегда продемонстрирую на примере:

<form action="foo.php3" method="post">

Name: <input type="text" name="name">

<input type="submit">

</form>

Значит после того, как пользователь нажмет в форме кнопку submit в php-скрипт foo.php3 методом post передадутся данные из формы, а обратиться, например к текстовому полю, из этого скрипта можно будет через переменную $name. Кроме того, можно использовать и массивы в качестве названий полей.

<form action="array.php" method="post">

Name: <input type="text" name="personal[name]">

Email: <input type="text" name="personal[email]">

Beer:

<select multiple name="beer[]">

<option value="warthog">Warthog

<option value="guinness">Guinness

</select>

<input type="submit">

</form>

В результате это скрипт (array.php) может вывести полученные результаты так:

echo "Имя: ".$personal["name"];

echo "Email: ".$personal["email"];

for ($i=0;$i<sizeof($beer);$i++)

echo $beer[$i]."<br>";

Кроме этого, как известно в форме в качестве submit-кнопки можно применять картику <input type=image src="image.gif" name="sub">. В таком случаем скрипту возвращаются еще две дополнительных переменных, содержащих координаты точки, на которой кликнули мышкой. Это sub_x и sub_y.HTTP Cookies

В PHP реалиован также простой способ работы с куками. С помоью функции SetCookie() можно их устанавливать, получать значения, как и в случае с формами - по имени переменной. В случае, если вы ожидаете получить несколько значений от куки имеет резон исопльзовать в качестве имени переменной - массив. Как в следующем примере.

SetCookie ("MyCookie[]", "Testing", time()+3600);

Существует только одно небольшое ограничение. Так-как куки - это часть HTTP заголовка их следует посылать самыми первыми. То есть грубо говоря, ваш скрипт должен начинаться с установки куки, а потом уже заниматься выводом html кода. Еще один пример, уже полноценного счетчика:

$Count++;

SetCookie ("Count", $Count, time()+3600);

SetCookie ("Cart[$Count]", $item, time()+3600);

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

И тут все так-же просто. Хотите узнать домашний каталог? В юникс-системах этообычно переменная окружения с именем HOME. Так узнавайте:

echo $HOME;

Вы также можете работать с переменными окружения через функции

getenv() и putenv()

КОНСТАНТЫ

Вы можете использовать не только переменный но и константы с помощью функции define(). Взгляните на следующий пример:

define("CONSTANT", "Hello world.");

echo CONSTANT;

обратите внимание на то, что перед именем константы не пишется символа переменной $ и это правильно.

Ну и напоследок список предопределенных констант.

  • __FILE__ Имя файла выполняемого скрипта.

  • __LINE__ Колличество линий, инетрптетированный на данный момент в этом скрипте.

  • PHP_VERSION Тут хранится версия PHP. Например: '3.0.8-dev'.

  • PHP_OS Имя операционной системы, на которой выполняется PHP-скрипт.

  • TRUE Истина.

  • FALSE Ложь.

  • E_ERROR Описывает случившуюся ошибку, продолжение работы после которой невозможно.

  • E_WARNING Описывает ошибку, после которой продолжается выполнения скрипта.

  • E_PARSE Описывает синтаксическую ошибку, рпи разоре интерпретатором текста скрипта.

  • E_NOTICE Просто какое-то сообщения от интерпретатора. Возможно ошибка, а возможно и нет.

Вот и все о константах и переменных. Со следующего шага займемся опарторами и выражениями.

Программируемый калькулятор

Сегодня рассмотрим все возможные операции на всеми возможными типами переменных и их значениями.

Арифметические операции

А рифметических операция в PHP всего пять, вот они:

  • $a + $b

  • $a - $b

  • $a * $b

  • $a / $b

  • $a % $b

Я думаю здесь все ясно. Ну можеттолко поясню последнюю операцию, результат ее выполнения остаток от деления $a на $b.

Строковые операции

А здесь и того меньше! Чисто строковой операцией считается операция сложения двух строк. Причем выглядит она довольно необычно, но практично:

  • $c = $a . $b;

То есть символом этой операции является точка. А результатом ее выполнения будет обыкновенная строка, состоящая из $a и $b

Операция присваивания

Ну тут вообще ничего сложного, она всегда одна, это знак '=' и естественно этот знак означает, что переменной с лева от него будет присвоенное значение, полученное в результате выполнения каких либо операций или переменной/константы с правой стороны. Причем тут возомжно некоторый С++ -ные варианты, как-то:

$a = ($b = 4) + 5; // $a будет равна 9, а $b 4-м.

$a += 5; // аналогично $a = $a + 5;

$b = "Привет ";

$b .= "всем!"; // а$a & $b Побитовое И (AND) налогично $b="Привет всем!"

Двоичные операции

Аа... и тут вообщем-то ничего нового:

  • $a & $b Побитовое И (AND)

  • $a | $b Побитовое ИЛИ (OR)

  • ~ $a Исключающее или (XOR)

  • $a << $b Сдвиг влево на $b битов

  • $a >> $b Сдвиг вправо на $b битов

Логические операции

Все тоже...

  • $a and $b И (AND)

  • $a && $b Тоже самое, что и предыдущее

  • $a or $b Или (OR)

  • $a || $b Тоже, что и предыдущее

  • $a xor $b Исключающее или (XOR)

  • ! $a Инверсия (NOT)

Операции сравнения

Здесь будет что-нибудь новое или нет? Даже комментировать эти операции не буду...

  • $a == $b

  • $a != $b

  • $a < $b

  • $a > $b

  • $a <= $b

  • $a >= $b

В PHP существует также, как и в C++, тринарный оператор '?:'. Кто незнает - обьясню на примере.

$res= (expr1) ? (expr2) : (expr3);

Результатом этой операции будет значение (expr2), в том случае, если expr1==1 и значение expr3 в противном случае. Где все эти expr1, expr2, expr3 - являются переменными/константами или математиескими выражениями. Такая запись по сути своей аналогична следующей:

if (expr1) $res=(expr2); else $res=(expr3);

но естественно более лаконична.

А собственно об этом и все. Мы рассмотрели все операции, присутсвующие в PHP. Слудующим шагом рассмотрим управляющие структуры (или их еще можно назвать командами).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]