Типы данных в РНР. Преобразование типов
Переменные в языке программирования php. Вывод строки
Если вы еще никогда не писали программ, не встречались с булевой алгеброй или еще чем, то концепция переменных может быть для вас новой. Но не волнуйтесь, сейчас мы быстро введем вас в курс дела, это не так сложно!
Переменная является средством хранения значения, такого как текстовая строка «Hello World!» или целое значение 4. Переменная может быть использована в любом месте кода, вместо того, чтобы вводить фактические значения снова и снова. В PHP вы определяете переменную следующим образом:
$variable_name = Value;
Как вы видите, любая переменная начинается со знака доллара. Нельзя о ней забывать, иначе ничего работать не будет. Это распространенная ошибка начинающих программистов PHP!
Примечание: Кроме того, имена переменных чувствительны к регистру, так что используйте тоже самое написание при использовании переменной, что и при объявлении. Переменные $a_number и $A_number различные переменные в глазах PHP.
Пример с переменными
Итак, чтобы использовать переменные в языке php, мы должны сначала ее объявить (для этого придумать имя) и задать ей значение. Вот как это правильно сделать:
<?php
$hello = "Hello World!";
$a_number = 4;
$anotherNumber = 8;
?>
Примечание: PHP не требует объявления переменных перед использованием. Например, в Pascal нам бы потребовалось сначала объявить весь список переменных в разделе var. В пхп ничего такого не нужно.
Разрешенные названия переменных
Есть несколько правил, которые нужно соблюдать при выборе имени для ваших PHP переменных.
· PHP переменных должны начинаться с буквы или символа подчеркивания «_».
· PHP переменные могут состоять только из буквенно-цифровых знаков и символов подчеркивания. a-z, A-Z, 0-9, или _.
· Переменные из более чем одного слова могут быть разделены подчеркиванием. $my_variable
· Переменные из более чем одного слова также можно разделить регистром. $myVariable
Теперь у вас в руках есть такой мощный инструмент, как переменные.
Как вы видели в предыдущем уроке, команда echo в php является средством вывода текста. На протяжении своей карьеры в PHP вы будете использовать команду echo больше, чем любую другую. Так давайте в ней хорошенько разберемся!
Вывод строки
Для вывода строки, как мы делали в предыдущих уроках, используется echo. С ее помощью можно выводить текст в кавычках, значения переменных и т.д. Давайте рассмотрим на примере.
<?php
$myString = "Hello!";
echo $myString;
echo "<h5>I love using PHP!</h5>";
?>
Вывод фразы «Hello!» нам уже знаком, тут ничего нового. Зато следующая команда echo, как вы видите, содержит html тег. Использовать html теги не запрещается, ведь php дает нам динамику, а статика и оформление страницы все еще во власти обычного html.
Осторожно, двойные кавычки!
Это очень здорово, что вы можете выводить HTML внутри PHP. Тем не менее, вы должны быть осторожны при использовании HTML-кода или любой другой строки, содержащей кавычки! В Эхо используются кавычки, чтобы определить начало и конец строки, поэтому вы должны использовать один из следующих вариантов, если хотите использовать кавычки внутри echo:
· Не используйте кавычки внутри строки.
· Экранируйте внутренние кавычки через слеш. Чтобы избежать обработки внутренних кавычек, просто поставьте обратную косую черту прямо перед ними, то есть \».
· Используйте одинарные кавычки (апострофы) на внутри строки.
Смотрите наш пример ниже для правильного и неправильного использования команды echo:
<?php
// This won't work because of the quotes around specialH5!
echo "<h5 class="specialH5">I love using PHP!</h5>";
// OK because we escaped the quotes!
echo "<h5 class=\"specialH5\">I love using PHP!</h5>";
// OK because we used an apostrophe '
echo "<h5 class='specialH5'>I love using PHP!</h5>";
?>
Если вы хотите вывести строку, содержащую цитаты, либо используйте апостроф (‘), либо экранируйте кавычки поставив слеш перед ними (\»). Обратная косая черта скажет PHP, что вы хотите, чтобы символ после нее не был обработан интерпретатором!
Типы данных в РНР. Преобразование типов
Как уже было сказано, PHP предоставляет определенную гибкость в отношении типов переменных, т.е. с одной и той же переменной на протяжении программы можно работать и как со строкой, и как с числом. Однако, несмотря на это в РНР существуют набор основных типов данных, которые могут явно указываться при работе с переменными:
· integer;
· string;
· boolean;
· double;
· array;
· object;
Есть функция gettype(), возвращающая тип, который РНР назначил переменной:
<?
$var = "5";
$var1 = 5;
echo(gettype($var));
echo "<br>";
echo(gettype($var1));
?>
В первом случае РНР вернет string, во втором integer.
Существует также функция settype(), которая явно устанавливает тип:
<?
$var = "5";
echo(gettype($var));
settype($var,integer);
echo "<br>";
echo(gettype($var));
?>
Выполнение этого фрагмента кода приведет к такому же результату, как и предыдущего.
Кроме функции settype() преобразование типов в РНР можно осуществлять при помощи операторов преобразования типов. Преобразование типов осуществляется путем указания перед переменной ее нового типа, взятого в скобки:
$var = (int)$var;
Соответственно, выполнение следующего кода приведет к тому, что РНР вернет integer:
<?
$var = "5"; // тип string
$var = (int)$var; // преобразуемвint
echo(gettype($var));
?>
Операторы
Арифметические операторы
+ | Сложение |
- | Вычитание |
* | Умножение |
/ | Деление |
% | Вычисление остатка по модулю (к примеру: 5 % 2=1) |
Поразрядные операторы
Эта группа операторов работает с битовыми представлениями значений целочисленных операндов. В основном эти операторы применяются для создания набора булевых флагов. В наших упражнениях мы будем использовать эти операторы очень редко, однако на всякий случай ниже приведен пример с использованием этих операторов.
& | Поразрядная конъюнкция (AND) |
| | Поразрядная дизъюнкция (OR) |
^ | Поразрядное исключающее ИЛИ (XOR) |
~ | Поразрядное отрицание (NOT) |
<< | Сдвиг влево битового представления значения левого целочисленного операнда на количество разрядов, равное значению правого целочисленного операнда |
>> | Сдвиг вправо битового представления значения левого целочисленного операнда на количество разрядов, равное значению правого целочисленного операнда |
Пример:
<?php
echo(4<<2); // равно 16
echo"<br>";
echo(5>>1); // равно 2
echo"<br>";
echo(6&5); // равно 4
echo"<br>";
echo(6|5); // равно 7
echo"<br>";
echo(6^5); // равно 3
>?
Разберем первый пример. Двоичный код для 4 равен 100, при сдвиге влево на 2 разряда код 100 становится равным 10000, что соответствует десятичному значению 16. Остальные примеры могут быть разобраны аналогично. Обратим внимание на то, что сдвиг влево на n позиций эквивалентен умножению на 2n, а сдвиг вправо уменьшает соответствующее значение в 2n раз с отбрасыванием дробной части результата (поэтому 5>>1 равно 2). Основное назначение этих операторов – быстрые вычисления. Так как их поддержка осуществляется на аппаратном уровне (процессор), алгоритмы, выполненные с использованием данных операторов получаются очень производительными.
Логические операторы
or или || | ИЛИ |
Xor | исключающее ИЛИ |
and или && | И |
! | НЕ |
Операторы этой группы, в отличие отпоразрядных, работают с логическими переменными (boolean) и интенсивно используются в управляющих конструкциях: циклы и условия. Логические переменные, или более правильно, переменные типа Boolean имеют лишь два значения: true(истина) и false(ложь). В выражениях true и false можно заменить на 1(любое отличное от 0 число) и 0, соответственно. Возможность замены true и false на 1 и 0 – это «наследство» языка С, в котором не было специальных переменныхtrue и false.