В PHP переменная начинается со знака $
, за которым следует имя переменной:
<?php
$txt = "Hello world!";
$x = 5;
$y = 10.5;
?>
После выполнения приведенных выше инструкций переменная $txt
будет содержать значение Hello world!
, переменная $x
будет содержать значение 5
, а переменная $y
— значение 10,5
.
1. когда вы присваиваете переменной текстовое значение, заключайте значение в кавычки
'
или "
;2. в отличие от других языков программирования, в PHP нет команды для объявления переменной. Она создается в тот момент, когда вы впервые присваиваете ему значение;
3. в PHP нет строгой типизации, а это значит, что одной перменной можно присвоить любой тип значения;
4. думайте о переменных как о контейнерах для хранения данных.
5.1. Правила написания переменных в PHP
Переменная может иметь короткое имя (например, x и y) или более описательное имя (age, carname, total_volume).
Правила для переменных PHP:
- переменная начинается со знака
$
, за которым следует имя переменной; - имя переменной должно начинаться с буквы или символа подчеркивания;
- имя переменной не может начинаться с цифры;
- имя переменной может содержать только буквенно-цифровые символы и символы подчеркивания (A-z, 0-9 и _ );
- имена переменных чувствительны к регистру (
$age
и$AGE
— две разные переменные).
5.2. Выходные переменные
Мы уже знакомились с данным оператором вывода значеия в консоль. Оператор PHP echo
часто используется для вывода данных на экран. В следующем примере показано, как вывести текст и переменную:
<?php
$txt = "W3Schools.com";
echo "I love $txt!";
?>
В следующем примере будет получен тот же результат, что и в приведенном выше примере:
<?php
$txt = "W3Schools.com";
echo "I love " . $txt . "!";
?>
В следующем примере будет выведена сумма двух переменных:
<?php
$x = 5;
$y = 4;
echo $x + $y;
?>
5.3. PHP — это язык со свободной типизацией
Обратите внимание, что в приведенном выше примере нам не нужно было сообщать PHP, к какому типу данных относится переменная. PHP автоматически связывает тип данных с переменной в зависимости от ее значения. Поскольку типы данных не установлены в строгом смысле, вы можете делать такие вещи, как добавление строки к целому числу, не вызывая ошибки.
В PHP 7 были добавлены объявления типов. Это дает возможность указать тип данных, ожидаемый при объявлении функции, и, включив строгое требование, он вызовет «Fatal Error»
при несоответствии типа. Вы узнаете больше о строгих и нестрогих требованиях и объявлениях типов данных в главе «Функции в PHP».
5.4. Область видимости переменных в PHP
В PHP переменные могут быть объявлены в любом месте скрипта. Область видимости переменной — это часть скрипта, в которой можно ссылаться/использовать переменную.
В PHP есть три разных области видимости переменных:
- local — локальная видимости в ограниченной области;
- global — глобальаня видимость на всем протяжении скрипта;
- static — статическая видимость — видимость в пределах блока видимости.
5.4.1. Глобальная область видимости в PHP
Переменная, объявленная вне функции, имеет глобальную область видимости и доступна только вне функции:
<?php
$x = 5; // глобальная переменная
function myTest() {
// переменная x внутри этой функции будет пустой
echo "<p>Значение X внутри функции: $x</p>";
}
myTest();
echo "<p>Значение X во вне функции: $x</p>";
?>
Ключевое слово global
используется для доступа к глобальной переменной из функции. Для этого нужно использовать ключевое слово global перед переменными (внутри функции):
<?php
$x = 5;
$y = 10;
function myTest() {
global $x, $y; // получаем доступ к глобальным переменным
$y = $x + $y;
}
myTest();
echo $y; // выведет 15
?>
global
перед локальной перменной.PHP также хранит все глобальные переменные в массиве с именем $GLOBALS[index]
. Индекс содержит имя переменной. Этот массив также доступен из функций и может использоваться для непосредственного обновления глобальных переменных.
5.4.2. Локальная область видимости в PHP
Переменная, объявленная внутри функции, имеет локальную область видимости и доступна только внутри этой функции:
<?php
function myTest() {
$x = 5; // локальная переменная
echo "<p>Значение X внутри функции: $x</p>";
}
myTest();
// переменная x во вне функции будет пустой
echo "<p>Значение X во вне функции: $x</p>";
?>
5.4.3. Статическая область видимости в PHP
Обычно, когда функция завершается/выполняется, все ее переменные удаляются. Однако иногда мы хотим, чтобы локальная переменная не удалялась. Она нужна нам для дальнейшей работы. Для этого используется ключевое слово static
при первом объявлении переменной:
<?php
function myTest() {
static $x = 0;//значение будет задаваться только один раз
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
Затем каждый раз, когда функция вызывается, эта переменная по-прежнему будет содержать информацию, содержащуюся в ней с момента последнего вызова функции.