В избранное    Домой   

Вторник,  10 Dec 2024 г., 08:27
Смиритесь пред Господом, и вознесет вас. /Иакова (гл.4 ст.10)/

 Логин:  

 Пароль: 




Анонсы:
=== Дата: 11/07/2011     Автор: Крис Ньюман ===

PHP. Урок 2 Переменные

Урок 2. Переменные

В этом уроке вы узнаете, как присвоить значение переменной в PHP? И задействуете это на практике.

Разберемся в переменных

Переменные - это ячейки, в которых можно сохранять информацию. Они являются фундаментальными конструкциями любой программы.

Возьмем переменную с именем number, в которой находится значение 5, и переменную name, содержащую значение Крис. В следующем примере определяются эти переменные и присваиваются соответствующие значения:

$number = 5;
$name = "Крис";

Перед именем переменной в PHP ставиться знак доллара. Объявить переменную очень просто. Для этого нужно поставить переменную и знак равенства слева, а присваиваемое значение - справа.

В PHP переменные можно поставлять всюду, где ставятся фиксированные значения. В следующем примере команда echo выводит на экран значение, которое находится в переменной. Это аналогично вставке фрагмента фиксированного текста вместо переменной:

$name = "Крис";
echo "Привет, " ;
echo $name;

На выходе получим:

Привет, Крис

Выбор имени для переменной

Для переменных следует подбирать осмысленные имена. Это позволяет быстро разобраться в сценарии спустя несколько месяцев после его написания.

Не называйте переменные $a, $b и т.п. Через некоторое время будет тяжело разобраться, что значит каждая буква. Хорошее имя переменной прямо указывает на значение, которое она содержит (например, $price, $name).

Имена переменных в PHP зависят от регистра. Например, переменные $name и $Name - разные и могут содержать различные значения в одном сценарии.

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

Таблица 2.1. Примеры корректных и некорректных имен переменных

Корректные имена переменных Некорректные имена переменных
$percent $pct%
$first_name $first-name
$line_2 $2nd_line

Выражения

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

$sum = 16 + 30;
echo $sum;

Значение справа от знака равенства присваивается переменной $sum. Значения 16 и 30 соединяются оператором суммирования - знаком плюс (+). Результатом выражения будет сумма двух значений. Как и ожидалось, на выходе получим 46.

Теперь вместо фиксированных значений, перейдем к переменным, чтобы обобщить пример выше:

$a = 16;
$b = 30;
$sum = $a + $b;
echo $sum;

Значения $a и $b суммируются, и снова на выходе получим 46.

Переменные в строках

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

Примеры ниже помогут разобраться в этом различии. В этом примере значение переменной $name подставляется в строку:

$name = "Крис";
echo "Привет, $name";

На выходе получим: Привет, Крис.

В этом примере знак доллара интерпретируется как символ, и никаких подстановок не происходит:

$name = 'Крис';
echo 'Привет, $name';

На выходе получим: Привет, $name.

Иногда PHP нужно указать, где начинается и заканчивается переменная. Для этого применяются фигурные скобки ({}). Например, нужно указать единицы измерения - килограммы или граммы. Тогда выражение будет следующим:

echo "Полный вес {$weigth}kg";

Без фигурных скобок вокруг $weigth PHP будет искать переменную $weigthkg, которой вообще может не существовать в сценарии. Аналогичные операции выполняются с помощью оператора конкатенации (соединения) - знак точки, который объединяет несколько строк в одну. Ниже показывается этот способ:

echo 'Полный вес '. $weigth.'kg';

Здесь три значения - две фиксированные строки и переменная $weigth - соединяются вместе. Порядок соединения соответствует порядку появления в выражении. Пробел после слова вес отделяет его от значения переменной $weigth.

Если в $weigth находится значение 99, на выходе получим:

Полный вес 99kg

Типы данных

Каждая переменная, в зависимости от значения, которое она содержит, имеет определенный тип. Основные типы данных PHP показаны в табл. 2.2.

Таблица 2.2. Типы данных PHP

Тип данных Описание
boolean (булев) Значение истинности, может быть TRUE (истина) или FALSE (ложь)
integer (целый) Численное значение, может быть положительным или отрицательным целым числом
float (одинарной точности с плавающей точкой) или
double (двойной точности с плавающей точкой)
Число с плавающей точкой. Может быть любое десятичное число
string (строчный) Буквенно-цифровое значение. Может содержать любое количество ASCII-символов

В момент присваивания значений переменной сразу устанавливается и ее тип. PHP определяет тип переменной автоматически, на основе присваиваемого значения. Функция gettype позволяет узнать тип данных, который PHP установит для переменной.

Вывод следующего кода показывает, что тип десятичного числа double:

$value = 7.2;
echo gettype($value);

Функцию gettype дополняет функция settype. Она дает возможность менять тип переменной. Если значение переменной несовместимо с новым типом, оно изменится на ближайшее возможное.

В следующем примере строчный тип меняется на целый:

$value = "22ое Января 2005";
settype ($value, "integer");
echo $value;

В этом примере строка начинается с числа, но в целом не является им. Во время преобразования PHP выбирает все до первого нецифрового символа. Остальная часть отбрасывается, так что на выходе получим число 22.

Приведение типа

Если ожидается определенный тип значения, PHP выполняет неявное изменение типа данных. Такой механизм называется приведением типа. Например, оператор суммы должен находиться между двумя числами. Поэтому перед выполнением операции строки конвертируются в integer или double. Сумма следующего выражения дает целый результат:

echo 100 + "10 дюймов";

В этом примере суммируются 100 и 10 - на экране получим 110.

Аналогичная ситуация повторяется, когда над числовыми данными выполняется строковая операция. Если выполнить строковую операцию над числовым значением, число сначала конвертируется в строку. Фактически это и произошло, когда мы поменяли оператор конкатенации в примере выше. Значение $weigth, которое выводилось , было числовым.

Результатом строковой операции всегда будет строка, даже если она выглядит как число. В следующем примере на выходе получим 69, но функция gettype показывает что в переменной $number находится строчное значение:

$number = 6 . 9;
echo $number;
echo gettype(6 . 9);

Переменная переменной

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

$my_age = 21;
$varname = "my_age";
Echo "Значение $varname равно ${$varname}";

На выходе получим:

Значение my_age равно 21

Так как строка заключена в двойные кавычки, знак доллара сигнализирует о том, что нужно подставить значение переменной в строку. Конструкция ${$varname} указывает на то, что значение переменной, имя которой содержится в $varname, нужно подставить в строку. Такой механизм называется переменная переменной.

Фигурные скобки вокруг $varname используются для того чтобы получить имя переменной. Такая запись нужна для строк с двойными кавычками, в других случаях фигурные скобки можно опустить. В следующем примере на выходе получим то же, что и выше, но уже с использованием оператора конкатенации:

echo 'Значение ' . $varname . ' равно ' . $$varname;

Резюме

В этом уроке вы узнали, как работают переменные в PHP. В следующем уроке вы научитесь использовать условные операторы и циклы для управления порядком выполнения сценария.


<<назад

Погода в Рудне
(Волгоградcкая обл.)

Подробнее >>


Курс валют
на 10 Дек 2024 г.
704 - Вьетнамских донгов
- 1