Данный урок 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"; ?>
Пример s05.php
Результат работы этого скрипта будет следующим:
Переменная с именем 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?
- Каким символом обозначается оператор присваивания?
- Чем отличается присваивание по ссылке от обычного присваивания?