Данный урок PHP рассматривает работу с переменными: присваивание имен и способы присвоения значений переменным.
Переменная в PHP обозначается знаком доллара, за которым следует ее имя. Например:
$my_var
$My_var
$_var
$x2
Имя переменной чувствительно к регистру, т.е. переменные $my_var и $My_var различны.
Имена переменных соответствуют тем же правилам, что и остальные наименования в PHP. Правильное имя переменной должно начинаться с латинской буквы или символа подчеркивания с последующими в любом количестве буквами, цифрами или символами подчеркивания:
a-z, A-Z, 0-9, или _
Когда в PHP присваиваете выражение переменной, все значения оригинального выражения копируются в эту переменную. Это означает, к примеру, что после присвоения одной переменной значения другой, изменение одной из них не влияет на значение другой. Значение переменной присваивается с помощью оператора присваивания, который обозначается символом равенства (=).
Пример:
<?php
// Присвоим $first значение ' Text 1 '
$first = ' Text 1 ';
// Присвоим $second значение переменной $first
$second = $first;
// Изменяем значение $first на ' Text 2 '
$first = ' Text 2 ';
// выводим значение $first
echo "Переменная с именем first равна $first <br>";
// выводим значение $second
echo "Переменная с именем second равна $second";
?>
Результат работы этого скрипта будет следующим:
Переменная с именем first равна Text 2
Переменная с именем second равна Text 1
PHP предлагает еще один способ присвоения значений переменным: присвоение по ссылке. Для того чтобы присвоить значение переменной по ссылке, это значение должно иметь имя, т.е. оно должно быть представлено какой-либо переменной. Чтобы указать, что значение одной переменной присваивается другой переменной по ссылке, нужно перед именем первой переменной поставить знак амперсанд &.
Рассмотрим тот же пример, что и выше, только будем присваивать значение переменной first переменной second по ссылке:
<?php
// Присваиваем $first значение ' Text '
$first = ' Text ';
/* Делаем ссылку на $first через $second.
Теперь значения этих переменных
будут всегда совпадать */
$second = &$first;
// Изменим значение $first на ' New text '
$first = ' New text ';
// выведем значения переменных
echo "Переменная с именем first равна $first <br>";
echo "Переменная с именем second равна $second";
?>
Запуситите этот скрипт и проверьте результат. Вместе со значением переменной $first должно измениться и значение переменной $second.
Контрольные вопросы и задания
- Как переменная обозначается в PHP?
- Каким символом обозначается оператор присваивания?
- Чем отличается присваивание по ссылке от обычного присваивания?