Переменные в PHP представлены знаком доллара с последующим
именем переменной. Имя переменной чувствительно к регистру.
Имена переменных соответствуют тем же правилам, что и
остальные наименования в PHP. Правильное имя переменной должно
начинаться с буквы или символа подчеркивания с последующими в
любом количестве буквами, цифрами или символами подчеркивания
Это можно отобразить регулярным выражением:
'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
Замечание:
Для наших целей буквы здесь - это 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(); // Неверно. ?>
|