УРОК 2: Как правильно писать переменные в PHP
Убедительная просьба -
не копируйте код на сайте,
чтобы его ввести в вашем редакторе, иначе ваш код иногда не будет работать!
Вводите код в редактор от руки.
Для удобства чтения я использую мнемоники HTML.
Мнемоники HTML и символы (операторы) языка визуально ничем не отличаются, но это разные символы.
Переменные в PHP создаются с помощью знака "$", за которым следует
имя переменной, например:
$price = 10.0;
$valera = "мой дружбан";
Имена переменных в PHP чувствительны к регистру!
$uvasya,
$Uvasya и
$UVASYA - это совершенно разные переменные.
Имена переменных в PHP могут состоять только из букв, цифр и нижнего подчеркивания
"_",
но имена переменных не могут начинаться с цифры.
// так можно
$joy = "радость";
// так тоже можно
$_joy2 = "радость";
// так тоже можно
$_joY_2 = "радость";
// так НЕЛЬЗЯ! Переменная не должна начинаться с цифры.
$3joy = "радость";
// НЕЛЬЗЯ называть переменную словом $this. $this - это зрезервированное в PHP слово.
Для чего используются переменные? Переменным мы присваиваем выражения или, другими словами, значения
этих выражений. Выражения, как правило, присваиваются посредством знака
"=".
// Присваиваем переменной $joy значение строки "радость" или строковое значение "радость"
$joy = "радость";
Как правило присваивание переменным идет по значению.
Но можно присвоить выражение переменным по ссылке. Что это значит?
Представьте себе коробочку в которой лежит бутерброд. Нам нужно присвоить бутерброд переменной.
Есть 2 варианта:
// Присваиваем переменной $x значение строки "бутерброд". В этот момент в памяти компьютера (если простым языком)
// создается ячейка памяти (коробочка), куда кладется наша строка "бутерброд", потом снимается копия этой строки
// и присваивается переменной $x. Теперь если в "коробочке" мы поменяем значение, в переменной $x оно останется как было.
$x = "бутерброд";
$y = $x; // $y здесь тоже "бутерброд", "бутерброд" из $x скопировался в $y (т.е. у нас уже 2 бутерброда в $x и в $y)
$x = "слон"; // теперь мы $x присвоили "слон"
echo $y; // $y по-прежнему "бутерброд", так как в $y лежит копия строки "бутерброд".
// Это и значит, что мы присвоили $y строку "бутерброд" по значению.
// А теперь давайте присвоим значение переменной $x по ссылке
$x = "бутерброд";
$y = &$x; // Заметили знак "&"? Он символизирует присваивание по ссылке. Т.е. мы не копируем значение $x в переменную
// $y, как раньше, а ссылаемся из $y на значение $x. Теперь при обращении к $y она будет искать значение
// в $x и возвращать его. $y стала как бы псевдонимом $x.
$x = "слон";
echo $y; // $y уже "слон", так как в $y как бы ничего не лежит, она псевдоним $x.
// А если мы сделаем так:
$y = "пылесос";
echo $x; // То $x будет равен "пылесос", т.к. $y это всего лишь псевдоним $x.
Это похоже на то, как будто у вас с супругом или супругой
две разные банковские корточки одного банка,
но обе карточки ссылаются на один банковский счет, Ваш. И теперь не важно вы ли снимете 100 рублей
или Ваша половинка,
денег на счете будет для обоих на 100 рублей меньше.
В следующем уроке мы поговорим об инициализации переменных.