Операторы PHP

Здравствуйте уважаемые начинающие программисты. Продолжим изучение элементов, из которых состоит php.

В этой статье мы узнаем, что такое операторы php. Вообще-то, с некоторыми из них мы знакомы чуть ли не с детства, только знаем их как знаки (+, -, =, !, ?).

В php все они называются операторами, что вполне логично, так как они выполняют определённое действие, или операцию.

Можно даже сказать, что все печатные знаки не являющиеся буквой или цифрой, в php являются операторами. Но и это ещё не всё, так как есть операторы состоящие из букв.

Давайте начнём по порядку.

Арифметические операторы

Арифметические операторы применяются для выполнения действий с числами.

+    — оператор сложения;
    — оператор вычитания;
/    — оператор деления;
*    — оператор умножения;
%    — оператор получения остатка при делении;
++    — оператор увеличения на единицу (инкремент);
— —    — оператор уменьшения на единицу (декремент)

При написании, до и после оператора обычно ставиться пробел. Делается это исключительно для удобства чтения кода, хотя этот пробел ни на что не влияет, и при желании можно обходиться без него.

Сложные выражения составляются по правилам принятым в арифметике, то есть умножение и деление имеет приоритет над сложением и вычитанием, и когда в выражении присутствует и то и другое, то последние заключаются в скобки.

<?php
echo (6 + 7) * (7 + 8);  // 195
?>

При выполнении действия деление целого числа на целое число, в случае получения остатка, результат автоматически переводится в вещественное число (число с плавающей точкой).

<?php
echo 8 / 3;  //2.66666666666
?>

Количество знаков, выводимых для дробного числа, зависит от установленного значения в директиве precision, находящейся в файле php.ini. Обычно это 12 символов не считая точки.

Оператор % обычно применяется для определения, делиться ли одно число на другое без остатка или нет.

<?php
echo 53328 % 4;  //0 
?>

Действия с арифметическими операторами, за исключением инкремента и декремента, называются бинарными, так как в них участвуют два операнда (слагаемое + слагаемое, делимое / делитель, и т. п.)

Действия инкремента и декремента называются унарными, так как в них участвует один операнд. Есть ещё условная операция, в которой участвуют три операнда.

Операторы инкремента (++) и декремента (- -) применяются только к переменным.

Тип переменной integer (целые числа)

<?php
$next = 3;
echo ++$next;  // 4
?>

Тип переменной string (строка)

<?php
$next = "abc";
echo $next;  // abd 
?>

Буква «d» выводится вместо буквы «с» потому, что она следующая по алфавиту, а мы увеличили значение переменной на единицу.

В примерах показаны действия с инкрементом, и точно так же можно выполнять действия с декрементом.

Поразрядные операторы

Поразрядные операторы предназначены для работы с двоичными данными. Если кто-то не представляет что это такое — объясню. Двоичные числа — это числа типа 1001000011100000111000.

Так как в разработке веб сайтов такие данные почти не применяются, то подробно останавливаться на них не будем. Я только покажу как они выглядят, чтобы при встрече с такими символами Вы представляли, с чем имеете дело.

&    — поразрядное соединение И (and);
~    — поразрядное отрицание (not);
|    — поразрядное объединение ИЛИ (or);
^    — поразрядное исключение ИЛИ (xor);
<<    — сдвиг влево битового значения операнда;
>>    — сдвиг вправо битового значения операнда;

Встреча с этими операторами вполне вероятна, так как двоичные данные широко используются при разработке программ по компьютерной графике. Но для их изучения, если кому то потребуется, придётся пройти отдельный курс на другом ресурсе.

Операторы сравнения

Операторы сравнения относятся к логическим операторам, и применяются для сравнения переменных. Массивы и объекты с их помощью сравнивать нельзя.

>     — оператор больше;
=>     — оператор больше или равно;
<     — оператор меньше;
<=     — оператор меньше или равно;
==     — оператор равенство;
!=     — оператор неравенство;
===     — оператор эквивалентности (равны значение и тип переменной);
!==   — оператор неэквивалентности;

В результате сравнения на экран выводится либо единица, что соответствует true (истина), либо пустая строка, что соответствует false (ложь).

<?php
echo 1 > 0;  // 1
echo 1 < 0;  // пустая строка
echo 1 => 0;  // 1
echo 1 == 1;  // 1
?>

Вот так, сами по себе, операторы сравнения почти не применяются. Основное их предназначение — это работа в паре с оператором if.

Условные операторы if, else, elseif.

Условные операторы называются так потому, что предназначены для проверки некоего условия, в зависимости от которого выполняется то, или иное действие.

В качестве аргумента, оператор if принимает логическую переменную, или выражение. Если условие верно то выводится результат, если не верно — пустая строка.

<?php
$next = "Влажность воздуха 80%";
$nexT = "Влажность воздуха 90%";
if ($next < $nexT)
{
    echo "Возможны осадки";  // Выводиться Возможны осадки
}
?>
<?php
$next = "Влажность воздуха 80%";
$nexT = "Влажность воздуха 90%";
if ($next > $nexT)
{
    echo "Возможны осадки";  // Выводиться пустая строка
}
?>

Если в программе нужно задать два действия, одно из которых будет выполняться при истинном значении, а другое при ложном, то вместе с оператором if, применяется оператор else

<?php
$next = "Влажность воздуха 80%";
$nexT = "Влажность воздуха 90%";
if ($next > $nexT)
{
    echo "Возможны осадки";
}
else
{
    echo "Осадки не предвидятся";
}  
?>

В этом случае выведется «Осадки не предвидятся», а если в выражении сменить знак «Больше» на «Меньше», то выведется «Возможны осадки». Вот так условные операторы проверяют условие, и выводят согласно ему верный результат.

Очень часто возникает необходимость задать более двух условий, и тогда, для их последовательной проверки, применяется оператор elseif.

<?php
$next = "Влажность воздуха 50%";
$nexT = "Влажность воздуха 60%";
if ($next > $nexT)
{
    echo "Ясно";
}
elseif($next <= $nexT)
{
	echo "Снег";
}
elseif($next >= $nexT)
{
	echo "Дождь";
}
elseif($next == $nexT)
{
	echo "Засуха";
}
else
{
	echo "Возможны осадки";
}
?>

Эта программа выведет «Снег». Если бы ни одно из условий не подошло, то вывелось бы «Возможны осадки».

Оператор if может содержать сколько угодно блоков elseif, и только один оператор else.

Допускается альтернативный вариант записи — без фигурных скобок. В таком случае строки операторов if, else, elseif, заканчиваются двоеточием, а вся конструкция — ключевым словом (оператором) endif.

<?php
$next = "Влажность воздуха 50%";
$nexT = "Влажность воздуха 60%";
if ($next <= $nexT):

	echo "Снег";

elseif($next >= $nexT):

	echo "Дождь";

elseif($next == $nexT):

	echo "Засуха";

else:

	echo "Возможны осадки";
endif;
?>

Логические операторы

Логические операторы похожи на поразрядные операторы. Разница между ними в том, что первые оперируют логическими переменными, а вторые цифрами.

Логические операторы используются в случаях, когда нужно объединить несколько условий, что позволят сократить число операторов if, что в свою очередь позволяет уменьшить вероятность ошибки в коде.

&&     — соединительный союз И;
and     — тоже И, но с меньшим приоритетом;
||     — разделительный союз ИЛИ;
or     — тоже ИЛИ, но с меньшим приоритетом;
xor     — исключающее один элемент ИЛИ;
!     — отрицание;

Меньший приоритет означает, что при наличии обеих операторов, первым выполняется тот, у которого больший приоритет.

В дальнейшем, на примерах более сложных скриптов, будем останавливаться на логических операторах подробнее.

Оператор присваивания

Оператор присваивания = присваивает левому операнду значение правого.

<?php
$next = "Здравствуйте"
     echo "Здравствуйте"   // Здравствуйте
?>

Оператор точка

Оператор точка отделяет целую часть числа от дробной, и объединяет несколько строк и число, в одну целую строку.

<?php
$next = 22;
echo "Сегодня после" .$next. "ожидается заморозок";  // Сегодня после 22 ожидается заморозок
?>

Оператор круглые скобки

Как и в математике, оператор круглые скобки задаёт приоритет действию, в них заключённому.

Сначала выполняются данные заключённые в круглые скобки, а затем уже все остальные.

Оператор фигурные скобки

В php существует три способа, или даже стиля, размещения фигурных скобок.

1. BSD стиль  — скобки выравниваются по левому краю.

if($next)
{

echo «Здравствуйте уважаемые начинающие программисты»;
}

2. GNU стиль  — скобки выравниваются с отступом от левого края

if($next)
  {

    echo «Здравствуйте уважаемые начинающие программисты»;
  }

3. K&R стиль — скобка открывается в строке оператора

if($next){
echo «Здравствуйте уважаемые начинающие программисты»;
}

С самого начала нужно выбрать один из стилей и в дальнейшем, при написании скриптов, использовать только его. Причём, совершенно не важно, какой стиль Вы предпочтёте. Важно чтоб на протяжении программы он был единообразным.

Пока думаю хватит. В принципе, не только знаки, но и функции, и другие элементы, могут являться операторами, так что перечислить их все очень затруднительно, да и не к чему.

Достаточно иметь представления об основных базовых. А остальные будем разбирать на практических примерах.

Неужели не осталось вопросов? Спросить

Короткий отдых
Перекур

По аэропорту Шереметьево в слезах бродит ирландец. Один из служащих решил посочувствовать:
— По родине скучаете?
— Вовсе нет. Только что я потерял весь свой багаж
— Как же это могло случиться?
— Сам не пойму. Вроде как следует пробку затыкал

Константы в PHP < < < В раздел > > > Функции PHP

Повелитель PHP
Кратчайший путь от начинающего до мастера без толстых учебников. Немедленное начало практических занятий
Запись опубликована в рубрике PHP основы. Добавьте в закладки постоянную ссылку.

3 комментария на «Операторы PHP»

  1. stariс говорит:

    Спасибо. Действительно, тяжёл для понимания. В этом солидарен. Но странно — встречается много определений php как очень простого языка.

  2. Zveruga говорит:

    Вот вам моё мнение, как человека который знает другие языки программирования, — синтаксис PHP ужасен! Он неестественен для человека. Куда как понятней объединять строки знаком «+», чем писать их через точку.

  3. Марат говорит:

    Спасибо! Супер!
    Как все просто и понятно!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *