Операторы PHP
$b = 8;
$c = 6;
// Арифметические операторы
$a = $b + $c; // сложение 8+6=12
$a = $b - $c; // вычетание 8-6=2
$a = $b * $c; // умножение 6*8=48
$a = $b / $c; // деление 8/6=1.333333333333333
$a = $b % $c; // остаток 2 от деления 8 на 6 ($b-((int)($b/$c)*$c))
$a = $b ** $c; // возведение $b в $c степень (8^6=262144)
// Оператор присваивания
$a = $b; // переменной $a присваиваем значение из переменной $b
$a += $b; // $a = $a + $b
$a -= $b; // $a = $a - $b
$a *= $b; // $a = $a * $b
$a /= $b; // $a = $a / $b
$a %= $b; // $a = $a % $b
// Операторы сравнения
$a == $b; // равно (true если $a равно $b после преобразования типов.)
$a === $b; // тождественно равно (true ес echo `dir`; ли $a равно $b и имеет тот же тип.)
$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.)
$a <= $b; // меньше или равно (true если $a меньше или равно $b.)
$a >= $b; // больше или равно (true если $a больше или равно $b.)
$a <=> $b; // космический корабль (spaceship) возвращает -1, 0 или 1 если $a, соответственно, меньше, равно или больше чем $b (выводит результат сравнения "$a>$b?1:($a < $b?-1:0)". Доступно c PHP 7.)
var_dump(1 <=> 2); // int(-1)
var_dump(1.99 <=> 2); // int(-1)
var_dump(2 <=> 1); // int(1)
var_dump(2.99 <=> 2); // int(1)
var_dump(1 <=> 1); // int(0)
var_dump(1.1 <=> 1.1); // int(0)
$a = 1;
$b = -1;
var_dump($a <=> $b); // int(1)
var_dump($a>$b?1:($a < $b?-1:0)); // int(1)
var_dump(($a <=> $b) === ($a>$b?1:($a < $b?-1:0))); // bool(true)
var_dump(1 == "1"); // bool(true)
var_dump(1 === 1); // bool(true)
var_dump(1 !== "1"); // bool(true)
var_dump(1 != 2); // bool(true)
var_dump(1 <> 2); // bool(true)
var_dump(1 < 2); // bool(true)
var_dump(2 > 1); // bool(true)
var_dump(2 >= 1); // bool(true)
var_dump(1 <= 2); // bool(true)
// Оператор исполнения
echo `dir`; // выполнит консольную команду (командную строку) обрамленную обратными кавычками (символ ASCII-96)
// Операторы инкремента и декремента
$a = 1;
++$a; // $a = $a + 1 (int(2))
$a++; // возвращает $a, после $a = $a + 1 (int(3))
--$a; // $a = $a - 1 (int(2))
$a--; // возвращает $a, после $a = $a - 1 (int(1))
// Логические операторы
var_dump((1 == 1)); // bool(true)
var_dump(!(1 == 1)); // bool(false) (отрицание полученного условия)
var_dump(((1 == "1") || (2 === 2))); // bool(true) (любое из условий или оба)
var_dump(((1 == "1") or (2 === 2))); // bool(true) (аналогично ||)
var_dump(((1 == "1") || (2 !== 2))); // bool(true)
var_dump(((1 == "1") xor (2 !== 2))); // bool(true) (любое из условий, но не оба)
var_dump(((1 == "1") xor (2 === 2))); // bool(false)
var_dump(((1 == "1") && (2 === 2))); // bool(true) (оба условия)
var_dump(((1 == "1") and (2 === 2))); // bool(true) (аналогично &&)
// логический оператор if
if ((bool)true === (bool)((int)"1")) { // условие/выражение
// если условие = истине
var_dump(true);
} else { // если условие
// если условие = лож
var_dump(false);
}
// краткая запись if (тернарный оператор условного присваивания)
var_dump((bool)true === (bool)((int)"1") ? true : false); // [(условие/выражение) ? (если результат выражения истина) : (если результат выражения лож)]
// Строковые операторы
$a = '20';
$b = '18';
$c = 'г.';
var_dump($a . $b); // string(4) "2018" (конкатенация $a и $b)
var_dump($a .= $b . $c); // string(7) "2018г." (присвоение $a с конкатенацией $b + конкатенация $c)
=== == = + - * ++ -- .+ .- .* <=> != !== <> > < >= <= ** .= += -= /= *=
просмотров: 1138