операторы в PHP

Оператор PHP

Различают несколько групп операторов.

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

$x + $z // вернет сумму переменных
$x - $z // вернет разность переменных
$x * $z // вернет произведение переменных
$x / $z // вернет результат деления переменных
$x % $z // вернет целочисленный остаток деления переменных
5 % 2 // вернет 1, т.е. количество чисел после запятой (5/2=2,5)

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

$w += $v // то же самое, что и $w = $w+$v

PHP не строго типизированный, он динамический. Когда php видит арифметические операторы, он подозревает, что и слева, и справа от него стоят числа. Это не как в java-скрипт, который строго типизированный язык. Если в нем выполнить арифметические операции с числом и строкой, то выскочит ошибка. В php же никакой ошибки не будет, потому что всегда какой-то один тип приводит к другому. Если в выражении стоят число и строка, php будет приводить результат к числу. Этого лучше не допускать в коде. См.пример:

$v = 'apple';
$z = $v * 9; // результат 0,т.е. строка приведется к 0
$a = true; // приведется к 1
$A = $a * 2; // вернет 2
$b = '5'; //строка приведется к числу 5
$B = $b *7; //35
$c = false; //приведется к 0
$C = $c * 999; // вернет 0
$d = '7days'; // приведет строку к числу 7
$D = $d *11; // вернет 77

Т.е. php приводит строку к числу следующим образом: он заглядывает в строку и смотрит символы, похожие на цифру до тех пор, пока не упрется в не-цифру, все остальное он пропускает.

Оператор строковый

Есть оператор конкатенации (склеивания) строк. Это точка (.).

$a = 'tomate';
$b = $a . 'red'; // вернет строку tomate red
$a .='red'; // вернет строку tomate red
$c = 'orange';
$cc = 'fruit';
echo $c . $cc // выведет строку orange fruit

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

  • $a == $b Результат приравняется к булеву типу (true или false). Такое двойное равно называется мягким сравнением. Т.е. один тип приводится к другому типу, если они разные.
9==9 // вернет true
'9'==9 // вернет true,т.к. строка приравнялась к числу
  • $a === $b — это жесткое сравнение. Т.е. когда переменные сравниваются по значению и по типу. Вернет true, если переменные равны по типу и значению.
  • $a != $b — когда нужно идти от обратного. Применяется, если есть много возможных вариантов, и чтобы их не перебирать, идут от противного. Возвращает true, если переменные не равны. Здесь один тип приводится к другому (как в первом случае), т.е. переменные проверяются только по значению.
  • $a !== $b — жесткое неравно. То же самое, что и третье. Плюс переменные проверяются по типу.
  • $a < $b — вернет true, когда $a меньше $b.
  • $a > $b — вернет true, когда $a больше $b.
  • $a >=$b — вернет true, когда $a больше или равно $b.
  • $a <=$b — вернет true, когда $a меньше или равно $b.

операторы в php

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

При логических операторах php каждый из операндов приводит к булеву типу. Существует:

$a and $b // true, если и $a, и $b true.
$a or $b // true, если или $a, или $b true.
!$a // true, если $a не true, т.е. идем от противного, идет отрицание переменной.
$a && $b // true, если и $a, и $b true. Это альтернатива оператора 'and'. Но он выше по приоритету.
$a || $b // true, если или $a, или $b true. Это альтернатива оператора 'or'. Но он выше по приоритету.



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

Ваш e-mail не будет опубликован.