Операторы 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