Глава 9. Переменные в PHP
Как было сказано ранее переменная характеризуется именем, типом и значением, Имя переменной может быть любым и включать в себя цифры, буквы английского алфавита, а также разрешенные символы (например, символ подчеркивания или тире), об этом и другом мы поговорим более подробно в этой главе. Что касается типов, можно сказать, что значение переменной в соответствии с типом может быть практически любым, например переменная b = 5. Это говоритнам отом, что имя переменной — b, тип — целочисленный, значение — 5. Для более детального разъяснения приведем пример:
<?php
$number = 8;
$number2 = 19.82;
$path = ".../index.phtml";
$str .=" string";
?>
Напомним, все переменные в РНР должны начинаться с символа $, что позволяет интерпретатору безошибочно отличать их от команд РНР. В первой строчке нашего скрипта переменной $number присваивается значение 8, что автоматически делает эту переменную целочисленной. Специально описывать тип переменной, как в языках программирования Pascal и Visual Basic, не требуется. Хотя разделение на типы чисто условное, РНР автоматически стремится использовать правильный тип соответственно значению. Вторая строчка кода присваивает переменной значение 19.82, которое является значением с плавающей запятой. Третья и четвертая строчки кода присваивают своим переменным значения, являющиеся символьными строками. Все, что заключено в кавычки (включая цифры), будет интерпретировано как символьная строка. Если переменные используются, но не определены ранее, их значение принимается равным нулю либо пустой строке в зависимости от типа. В данной главе описаны:
• основные понятия при использовании переменных;
• операция получения адреса;
• область видимости (scope);
• переменные переменных;
• передача параметров скрипту при запуске из командной строки;
• формы HTML (Get/Post);
• передача значений переменных, соответствующих кнопкам формы;
• HTTP-Cookies;
• системные переменные;
• точки в именах входящих переменных;
• как проверить, был ли отмечен checkbox в форме;
• определение типов переменных.
9.1. Основные понятия при использовании переменных
Переменные в РНР начинаются со знака доллара $. Как было сказано ранее, это позволяет интерпретатору РНР понять, что та или иная совокупность символов относится к области переменных и все операции выполняются с ними как операции с переменными.
Необходимо заметить, что имя переменной чувствительно к Например:
$first = 'Sasha';
$First = 'Tatiana';
echo "$first, $First"; // данная функция выведет на экран "Sasha, Tatiana"
Этот пример показывает, что двум похожим переменным можно задать разные значения. Постарайтесь запомнить это, так как именно на этом этапе делается множество ошибок.
Очень часто программисты, не задумываясь, вводят переменные с ничего не выражающими именами. Возьмите, к примеру, переменную
В некоторых случаях — это осмысленное имя. Когда вы проделываете элементарные математические операции или же решаете уравнение, $z — замечательное имя для переменной, ясное, емкое и соответствующее проблемной области. Если вы строите двухмерный график в плоскости x-z, и здесь такое имя подходит. Однако оно далеко не лучшее, когда им начинают обозначать количество посещений сайта. Хорошим тоном среди программистов считается использование комментариев при определении переменной. Например:
$posetili = 5; // количество посещений
Заметьте, как удачно выбраное имя сразу делает ваш код не требующим комментариев — глядя на эту строку, вы уже можете понять, что происходит. Это требует немного больше времени на обдумывание подходящих имен, но если вы рассчитываете хоть на какую-то долговечность вашего кода (означающую, что он еще может понадобиться вам или кому-либо еще), то это стоит делать.
Приведем основные правила, необходимые при создании имен переменных:
• имя переменной должно начинаться с буквы или со строки подчеркивания. Например:
$name = "Sasha";
$_file = "script";
• в начале имени переменной не могут употребляться цифры. Например:
Такое имя переменной вызовет ошибку при выполнении программы.
ВНИМАНИЕ
В данном случае к символам относятся буквы: a-z, A-Z, а также символы таблицы ASCII, начинающиеся с 127 до 255 (0x7f-0xff).
Приведем пример, который пояснит все вышеизложенное:
$name = 'Igor';
$Name = 'Slava';
$string = 35;
$_4class = 5;
$4cout = 76;
$taty = 'minal';
Переменные $name и $Name отличаются только регистром, при выводе этих переменных мы получим следующее: «Igor, slava» (для этого воспользуемся функцией echo "$name, $Name";). Переменная Sstring = 35; начинается с символа, эта переменная будет использована без ошибки, то же самое касается переменных $_4class и $taty. Символ «а»является вставляемым символом из таблицы ASCII подномером 228. Символы таблицы ASCII могут использоваться от 127 до 255, а последний попадает именно в этот интервал. Переменная $4cout имеет имя, которое начинается с цифры, что при ее последующем использовании приведет к ошибке. В этом случае в окно браузера будет выведена ошибка следующего содержания:
Parse error: parse error, expecting 'INVARIABLE' or "$" in z:homelocalhostwwwtest.php on line 8