PHP: Переменные
Когда в программе необходимо сохранить значение, чтобы использовать его позже, это значение присваивается переменной. Переменная — это просто символьное имя для значения, которое обеспечивает возможность получить значение по имени, то есть, когда в программе указывается имя переменной вместо неё подставляется значение.
При использовании переменных необходимо учитывать следующие правила:
- В PHP не нужно объявлять переменную перед тем как начать её использовать.
- Переменные в PHP представлены знаком доллара с последующим именем переменной.
- Имена переменных чувствительны к регистру символов, это означает, что имена переменных $myVar, $MYVAR или $MyVar будут считаться, как имена трёх различных переменных.
Инициализация — это присвоение начального значения переменной. Присвоить какое-либо значение переменной можно с помощью оператора присваивания, который обозначается символом равно (=):
$str = 'строка1, '; $Str = 'строка2'; echo $str, $Str;
Переменные в PHP не имеют типа, поэтому переменной может быть присвоено сначала значение одного типа, а затем этой же переменной может быть присвоено значение другого типа:
$x = 10; // Сначала присваивается число $x = "текст"; // Затем присваивается строка
Так как вместо имени переменной подставляется её значение, можно копировать значение из одной переменной в другую:
$num1 = 10; $num2 = $num1; // Тоже самое, что и $num2 = 10;
В этом примере переменной $num1
присваивается число 10. Затем переменной $num2
присваивается значение переменной $num1
. Несмотря на то, что переменные $num1
и $num2
имеют одинаковое значение, каждая из них содержит собственную копию числа 10, поэтому изменение значения одной из них не повлияет на другую:
<?php $num1 = 10; $num2 = $num1; echo '$num1: '. $num1; // 10 echo '<br>$num2: ' . $num2; // 10 $num1 = 20; echo '<br>$num1: ' . $num1; // 20 echo '<br>$num2: ' . $num2; // 10 ?>
Неинициализированная переменная, то есть такая, которой не было присвоено никакого значения, принимает значение по умолчанию в зависимости от контекста её использования:
- При работе со строками — пустую строку.
- При работе с числами — число нуль.
- Там, где ожидается булево значение —
FALSE
. - При работе с переменной в качестве массива — пустой массив.
- При работе с переменной в качестве объекта — объект типа
stdClass
. - Без контекста использования — специальное значение
NULL
.
// При работе со строками $str = $str . 'abc'; // Тоже самое, что и '' . 'abc' // При работе с числами $num = $num + 25; // Тоже самое, что и 0 + 25 // Там, где ожидается булево значение $num = $bool ? 1 : 2; // Тоже самое, что и FALSE ? 1 : 2; // При работе с переменной в качестве массива $arr[3] = "abc"; // Тоже самое, что и $arr = [3 => "abc"]; // При работе с переменной в качестве объекта $obj->foo = 'abc'; // new stdClass; $obj->foo = 'abc'; // Без контекста использования echo gettype($x); // NULL
Зачем нужны переменные?
Переменные помогают сделать программный код понятнее. Рассмотрим небольшой пример:
$total_price = 2.42 + 4.33; // Общая цена
Имеющиеся здесь числа могут означать что угодно. Чтобы стало понятнее, что здесь суммируется, можно присвоить 2.42 в качестве значения переменной $candy_price
(цена конфет), а 4.33 — в качестве значения переменной $oil_price
(цена масла):
$total_price = $candy_price + $oil_price;
Теперь вместо того, чтобы вспоминать, что эти значения означают, можно увидеть, что в сценарии складывается цена конфет с ценой масла.
Переменные также помогают экономить время при написании и отладке сценария. Вместо того, чтобы везде использовать одно и тоже фактическое значение (литерал), его можно присвоить в начале сценария переменной, и далее в остальном коде сценария вместо литерала использовать переменную. Если позднее будет принято решение об изменении значения, то вносить изменения в код придется не в нескольких местах, а только в одном месте — там, где переменной присваивалось значение.
Переменные переменных
В PHP есть возможность использовать значение одной переменной в качестве имени другой переменной. Переменные, которые в качестве имени используют значение переменной называются переменные переменных.
Чтобы использовать значение переменной в качестве имени переменной, необходимо поставить дополнительный знак доллара перед именем переменной, значение которой будет использоваться в качестве имени:
<?php $x = "name"; $$x = "Вася"; // Вместо $x подставляется name и создаётся новая переменная $name echo $name; // "Вася" ?>
С этой темой смотрят: