- Содержание
- Основы
- Предопределённые переменные
- Область видимости переменной
- Переменные переменные
- Переменные вне PHP
Переменные в PHP представлены знаком dollar с последующим именем переменной.
Имя переменной чувствительно к регистру символов.
Имена переменных следуют тем же правилам, что и другие метки в PHP.
Правильное имя переменной начинается с буквы или символа подчёркивания, с
последующими (в любом количестве) буквами, числами или символами
подчёркивания. Это можно выразить в виде регулярного выражения:
'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
Примечание: для наших целей здесь - буквы это a-z, A-Z и ASCII-символы от 127 до 255 (0x7f-0xff).
$var = "Bob";
$Var = "Joe";
echo "$var, $Var"; // выводит "Bob, Joe"
$4site = 'not yet'; // неправильно; начинается с числа
$_4site = 'not yet'; // правильно; начинается с символа подчёркивания/underscore
$täyte = 'mansikka'; // правильно; 'ä' это ASCII 228. |
В PHP 3 переменные всегда присваиваются по значению. То есть, если вы
присваиваете выражение переменной, всё значение оригинального выражения
копируется в переменную назначения. Это означает, к примеру, что после
присвоения одной переменной другой переменной, изменение одной из этих
переменных не повлияет на другую. Дополнительно об этом виде присвоения см.
раздел Выражения.
PHP 4 предлагает другой способ присвоения значений переменным:
присвоение по ссылке. Это означает, что новая переменная просто
ссылается на (иначе говоря, "становится псевдонимом"
или "указывает на") оригинальную переменную. Изменения в новой переменной
отражаются на оригинале, и наоборот. Это означает также, что никакого
копирования не происходит; таким образом, присвоение происходит быстрее.
Однако любое ускорение будет заметно только в длинных циклах или при
присвоении больших массивов или объектов.
Для присвоения по ссылке просто присоедините амперсанд (&) к началу
имени переменной (исходной переменной). Например, следующий фрагмент кода выводит 'My
name is Bob' дважды:
<?php
$foo = 'Bob'; // присваивается 'Bob' переменной $foo
$bar = &$foo; // ссылка на $foo через $bar
$bar = "My name is $bar"; // изменение $bar
echo $bar;
echo $foo; // $foo также изменилась
?> |
Важно отметить, что по ссылке можно присвоить только именованные переменные. <?php
$foo = 25;
$bar = &$foo; // правильное присвоение
$bar = &(24 * 7); // неверно; ссылка на неименованное выражение
function test()
{
return 25;
}
$bar = &test(); // неправильно
?> |
|