Переменные PHP

Переменная является контейнером для хранения информации:

Пример

<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>

Пример выполнения

Как и в алгебре

x=5
y=6
z=x+y

В алгебре мы используем буквы (например, x) для сохранения значений (например, 5).

Из выражения z=x+y мы можем вычислить, что значение z равно 11.

В PHP эти три буквы называютсяПеременная.

Комментарий:Постарайтесь представить переменные как контейнеры для хранения данных.

Переменные PHP

Как и в алгебре, переменные PHP могут использоваться для сохранения значений (x=5) и выражений (z=x+y).

Имя переменной может быть очень коротким (например, x и y), а также более описательным (например, carname, total_volume).

Правила переменных PHP:

  • Переменная начинается с символа $, за которым следует имя переменной
  • Имя переменной должно начинаться с буквы или подчеркивания
  • Имена переменных не могут начинаться с цифры
  • Имена переменных могут содержать только символы, цифры и подчеркивания (A-z, 0-9 и _)
  • Имена переменных чувствительны к регистру ( $y и $Y являются двумя различными переменными)

Комментарий:Имена переменных PHP чувствительны к регистру!

Создание переменных PHP

PHP не имеет команды создания переменных.

Переменные создаются при первом их присвоении значения:

Пример

<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>

Пример выполнения

После выполнения вышеуказанных инструкций переменная txt сохранит значение Hello world!, переменная x сохранит значение 5, переменная y сохранит значение 10.5.

Комментарий:Если значение переменной является текстом, окружите его кавычками.

PHP является языком с нестрогим типом данных

В примере выше обратите внимание, что нам не нужно указывать PHP тип данных переменной.

PHP автоматически преобразует переменные в правильный тип данных в зависимости от их значения.

В языках, таких как C и C++, а также Java, программисты должны объявлять имя и тип переменной перед использованием.

PHP диапазон действия переменных

В PHP переменные могут быть объявлены в любом месте скрипта.

Диапазон действия переменной指的是 часть скрипта, в которой переменная может быть использована илиreferenced.

PHP имеет три типа различных диапазонов действия переменных:

  • local (локальный)
  • global (глобальный)
  • static (статический)

Локальный и глобальный диапазоны действия

ФункцииВнеОбъявленные переменные имеют глобальный диапазон действия и могут быть доступы только вне функции.

ФункцииВнутриОбъявленные переменные имеют локальный диапазон действия и могут быть доступы только внутри функции.

Ниже приведен пример, который проверяет переменные с локальным и глобальным диапазоном действия:

Пример

<?php
$x=5; // Глобальный диапазон действия
function myTest() {
  $y=10; // Локальный диапазон действия
  echo "<p>Тестирование переменных внутри функции:</p>";
  echo "Переменная x: $x";
  echo "<br>";
  echo "Переменная y: $y";
} 
myTest();
echo "<p>Тестирование переменных вне функции:</p>";
echo "Переменная x: $x";
echo "<br>";
echo "Переменная y: $y";
?>

Пример выполнения

В примере выше есть две переменные $x и $y, а также функция myTest(). $x является глобальной переменной, так как она объявлена вне функции, а $y является локальной переменной, так как она объявлена внутри функции.

Если мы выводим значения двух переменных внутри функции myTest(), $y будет выводиться значение, объявленное локально, но не будет выводиться значение $x, так как оно создается вне функции.

Затем, если выводить значения двух переменных вне функции myTest(), будет выводиться значение $x, но не будет выводиться значение $y, так как оно является локальной переменной и создается внутри myTest().

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

Ключевое слово global в PHP

Ключевое слово global используется для доступа к глобальным переменным в функции.

Чтобы сделать это, используйте перед переменной в (функции) ключевое слово global:

Пример

<?php
$x=5;
$y=10;
function myTest() {
  global $x,$y;
  $y=$x+$y;
}
myTest();
echo $y; // Вывод 15
?>

Пример выполнения

PHP хранит все глобальные переменные в массиве с именем $GLOBALS[index]. Индекс содержит имя переменной. Этот массив можно также доступить в функции и использовать для прямого обновления глобальных переменных.

Пример можно переписать следующим образом:

Пример

<?php
$x=5;
$y=10;
function myTest() {
  $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} 
myTest();
echo $y; // Вывод 15
?>

Пример выполнения

Ключевое слово static в PHP

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

Чтобы сделать это, используйте при первой декларации переменной static Ключевые слова:

Пример

<?php
function myTest() {
  static $x=0;
  echo $x;
  $x++;
}
myTest();
myTest();
myTest();
?>

Пример выполнения

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

Комментарий:Эта переменная по-прежнему является локальной переменной функции.