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 эти буквы называютсяпеременными。

lamp Переменные — это контейнеры для хранения данных.


Переменные PHP

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

Переменные могут иметь очень короткие имена (например, x и y) или более описательные имена (например, age, carname, totalvolume).

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

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

Создание (объявление) переменных PHP

В PHP нет команды для объявления переменных.

Переменная создаётся, когда вы впервые присваиваете ей значение:

Пример

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

Запустить пример »

При выполнении приведённых выше операторов переменнаяtxtбудет содержать значениеHello world!, а переменнаяxбудет содержать значение5。

Примечание:Когда вы присваиваете переменной текстовое значение, заключайте текстовое значение в кавычки.


PHP — слабо типизированный язык

В приведённом выше примере мы видим, что нет необходимости объявлять тип данных переменной для PHP.

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

В строго типизированных языках программирования мы должны объявить (определить) тип и имя переменной перед её использованием.


Область видимости переменных в PHP

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

В PHP есть четыре различные области видимости переменных:

  • local
  • global
  • static
  • параметр

Локальная и глобальная область видимости

Переменные, определённые вне всех функций, имеют глобальную область видимости. Помимо функций, глобальные переменные доступны из любой части скрипта. Чтобы получить доступ к глобальной переменной внутри функции, нужно использовать ключевое слово global.

Переменные, объявленные внутри функции PHP, являются локальными переменными и доступны только внутри функции:

Пример

<?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";
?>

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

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

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

Note Вы можете использовать одинаковые имена переменных в разных функциях, потому что имена переменных, определённые в этих функциях, являются локальными переменными и применяются только внутри этой функции.

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

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

Чтобы получить доступ изнутри функции к глобальной переменной, определённой вне функции, нам нужно добавить ключевое слово global перед переменной внутри функции

Пример

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

Запустить пример »

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

Приведённый выше пример можно записать так:

Пример

<?php $x=5; $y=10; function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y']; } myTest(); echo $y; ?>

Запустить пример »


Статическая область видимости

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

Для этого, когда вы впервые объявляете переменную, используйте ключевое словоstatic:

Пример

<?php function myTest() { static $x=0; echo $x; $x++; echo PHP_EOL; //Символ новой строки } myTest(); myTest(); myTest(); ?>

Запустить пример »

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

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


Область видимости параметров

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

Параметры объявляются в списке параметров как часть объявления функции:

Пример

<?php function myTest($x) { echo $x; } myTest(5); ?>

Мы обсудим это более подробно в главеФункции PHP.

Другие расширения