Operators
| Arithmetic | |
| Compare strictly | |
| Logical operators | |
| Precedence and parentheses |
Arithmetic
Five signs handle school math, plus two extras: percent keeps the remainder and double star raises to a power:
echo 7 + 3; // 10 echo 7 - 3; // 4 echo 7 * 3; // 21 echo 7 / 2; // 3.5 echo 7 % 3; // 1 echo 2 ** 3; // 8
Compare strictly
Loose comparison juggles types first, which hides bugs. Strict comparison checks the type as well, so prefer it everywhere:
var_dump(1 == true); // true var_dump(1 === true); // false, int is not bool var_dump("42" === 42); // false, string is not int
Logical operators
Double ampersand means and, double pipe means or, and the exclamation mark flips a value. Combine them to build real conditions:
$adult = true; $paid = false; var_dump($adult && $paid); // false var_dump($adult || $paid); // true var_dump(!$paid); // true
Precedence and parentheses
Multiplication runs before addition, and and runs before or. Parentheses beat every rule, so add them whenever a line needs a second look:
echo 2 + 3 * 4; // 14 echo (2 + 3) * 4; // 20 $ok = true || false && false; // true, && first
Next: if and else
Article author: Arthur Isaev