PHP/Переменные в PHP
Работа с переменными
[править]Как и любой язык программирования, PHP допускает работу с переменными. Имена всех переменных в PHP начинаются со знака доллара ($).
Создание переменных
[править]Для создания PHP-переменной необходимо просто использовать её в любом месте кода. Интерпретатор сам заботится о создании переменной. Её тип является динамическим (об этом в следующем разделе) Рассмотрим создание переменной с именем $value и приравнивание её к двум. Как и после любой инструкции, после объявления переменной необходимо ставить точку с запятой:
$value=2;
Возможно также прямое создание без использования:
$value;
Предостережения
[править]Перед использованием переменных в вычислениях или любых других операциях, исход которых зависит от значения переменной необходимо не только создать её, но и присвоить ей какое-либо значение. Это может быть даже значение null (пустота), но оно должно быть присвоено.
Вычисления
[править]Как следует из названия переменных, их значение может меняться. Мы можем как напрямую менять их значение на какое-то конкретное число (например заставить $value быть равным 5) или приравнять к какой другой переменной.
Или сложить две переменные, а результат записать в третью.
В приведённом ниже коде в переменную $c записывается сумма переменных $a и $b.
<?php
$a=3;
$b=4;
$c=$a+$b;
Как видите, в первой строке переменной $a присваивается значение 3.
Во второй строке в переменную $b записывается значение 4.
В третьей строке в переменную $c записывается сумма переменных $a и $b. В результате там окажется число 7 (3+4=7). В первый раз это может быть непонятно, так как после школьного курса математики запись c=a+b наводит нас на мысль об уравнении. На самом деле это не так. В программировании математический знак равенства (=) называется оператором присваивания (оператор - это символ, который оперирует с какими-то значениями, то есть что-то с ними делает). Оператор присваивания вычисляет значение выражения, которое написано справа от него (в нашем случае это $a+$b) и записывает результат в переменную, указанную слева. При этом важно помнить, что справа может быть написано выражение любой сложности, с любым количеством знаков, скобок и прочего, но слева всегда должна находится одна переменная, так как интерпретатор может записать получившееся значение только в одно место.
Ниже приведён пример более сложного выражения:
<?php
$a=4;
$b=5;
$c=$a*$b+2*$b;
$d=($c-$a)*$b;
В первых двух строках мы записываем в переменные $a и $b их значения - соответственно, 4 и 5. Далее переменной $c присваивается результат выражения $a*$b+2*$b. В нашем случае это 4*5+2*5=20+10=30 (как видите, в выражениях можно использовать не только переменные, но и обычные числа). После этого переменной $d мы присваиваем значение выражения ($c-$a)*$b - в нашем случае - (30-4)*5=26*5=130. В результате, в переменной $d мы получаем значение 130.
Вывод переменных
[править]До сих пор мы только вычисляли переменные, но никак не могли вывести их в передаваемый браузеру HTML-код. Сейчас мы научимся это делать.
Для вывода переменных используется уже знакомая нам команда echo, но при этом имя переменной в кавычки не берётся.
$a=3;
$b=4;
$c=$a+$b;
echo $c;
Если вы всё правильно записали в приведённом выше коде, то, открыв страницу с расширением *.php (не забывайте, интерпретатор будет работать только с такими файлами), где он записан, в браузере, вы увидите на экране число 7.
Вывод переменных вместе с текстом
[править]Располагая нашими текущими знаниями (если вы, конечно, не были знакомы с PHP до прочтения учебника), мы можем выполнить эту задачу только одним способом:
$a=3;
$b=4;
$c=$a+$b;
echo "При сложении чисел ";
echo $a;
echo " и ";
echo $b;
echo " получается число ";
echo $c;
echo ".";
Такой код, хотя и выведет на экран желаемую фразу, весьма громоздкий и сложный для прочтения. Поэтому лучше вывести всё это в одной строке кода. Для того, чтобы сделать это, нужно после окончания текста, помещённого в кавычки, поставить запятую, после которой указать имя выводимой переменной. После этого можно поставить ещё одну запятую, после которой идёт текст, опять в кавычках, и так далее - в окончании всей конструкции, как и раньше ставится точка с запятой.
$a=3;
$b=4;
$c=$a+$b;
echo "При сложении чисел ",$a," и ",$b," получается число ",$c,".";
Приведённый выше код гораздо более компактен и приятен для прочтения, хотя результат работы будет идентичен с предыдущим. Если нет желания разделять запятыми переменные и текст и ставить много дополнительных кавычек, можно этого и не делать. Не случайно имена всех переменных в PHP начинаются со знака доллара ($). Если указать в тексте имя переменной, интерпретатор сам поймёт что это не просто текст (главное не забыть поставить после имени пробел, чтобы интерпретатор мог вовремя остановиться при прочтении имени переменной).
<?php
$a=3;
$b=4;
$c=$a+$b;
echo "При сложении чисел $a и $b получается число $c.";
Переменные-строки
[править]До этого мы оперировали с переменными, которые имеют числовые значения. Действительно, как мы знаем, компьютер мыслит числами - их мы и складывали. Однако PHP - язык достаточно свободный и в нём можно легко оперировать и строками - присваивать переменной значение строки, складывать строки, выводить их на экран.
Для сложения строк (под сложением подразумевается "склеивание" двух строк в одну) в PHP используется точка (.), которая ставится между именами двух переменных как плюс между двумя слагаемыми. Кроме имён переменных в сложении строк можно также использовать обычный текст, заключённый в кавычки
$hello="Привет,";
$name="программист!";
$text=$hello." ".$name;
echo $text;
Здесь слово "привет" с запятой сохранено в переменной $hello, обращение в переменной $name, а пробел появляется при сложении как отдельная строка (один символ - тоже строка). Всё это складывается с помощью точки и записывается в переменную $text, после чего выводится на экран.
Урок 2: Стандартные типы данных
[править]int
[править]$int = 6;
var_dump($int);
float
[править]$float = 1.7;
var_dump($float);
string
[править]$string = 'Hello world!';
var_dump($string);
array
[править]$array = array('Array', 'is', 'a', 'function', 'with', 'more', 'than', 1 , 'value');
var_dump($array);