Руководство по PHP
Пред. |  | След.

# Глава 12. Переменные

# Основы

Переменные в 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(); // Неверно. ?>`

Пред. | Начало | След.
Манипуляции с типами | Уровень выше | Предопределенные переменные