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