Operators
Arithmetic
Binary operators
+ Addition
- Subtraction
Greather* Multiplication
/ Division
% Modulus (returns the integer remainder)
Unary operators
- Unary negation (reverses the sign)
++ Increment (can be prefix or postfix)
-- Decrement (can be prefix or postfix)
Assignment
= Assign
+= Add and assign
-= Subtract and assign
*= Multiply and assign
/= Divide and assign
%= Modulus and assign
Comparison
- Not safe to use on strings
- To safely compare two strings, use
strcmp( )
== Equal
!= Not equal
> Greater than
>= Greater than or equal to
< Less than
<= Less than or equal to
<> Not equal (alternate format)
=== Identical (equal and of the same type)
!== Not identical
Conditional
? : Ternary comparison operator
condition ? val1 : val2 (Evaluates val1 if condition is true; otherwise, evaluates val2)
Boolean
- Short-circuit logical operations
- Evaluates the minimal number of
expressions necessary
- Partial evaluation (rather than full
evaluation)
and and
or or
xor xor
&& and
|| or
! not (logical negation)
- Note: "and" and "or" have different
precedence than
"&&" and "||"
Bitwise
Binary operators
& And (can also be used as a boolean operator for full evaluation)
| Or (can also be used as a boolean operator for full evaluation)
^ Xor
<< Shift left (zero fill)
>> Shift right (sign-propogating); copies of the leftmost bit (sign bit) are shifted in from the left.
Unary operators
~ Not (inverts the bits)
String
= Assignment
. Concatenation
.= Concatenate and assign
Examples
$str = "ab" . "cd"; # "abcd"
$str .= " "; # Append a space
Array
+ # Append one array to another
+= # Append and assign