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);