PHP Operators have been categorised into:

- Arithmetical Operators
- Assignment Operators
- Comparison Operators
- Incrementing and Decrementing Operators
- Logical Operators

The examples here are gotten straight from the PHP documentation although some cream has been skimmed off to stop you from having academic constipation. Bottom Line: This is NOT the complete list of PHP operators (a few have been... skimmed).

Remember basic arithmetic from school? These work just like those. They are:

+ | - | * | / | % |

Short examples are given here below:

Example | Name | Result |

$a + $b | Addition | Sum of $a and $b. |

$a - $b | Subtraction | Difference of $a and $b. |

$a * $b | Multiplication | Product of $a and $b. |

$a / $b | Division | Quotient of $a and $b. |

$a % $b | Modulus | Remainder of $a divided by $b. |

The division operator ("/") returns an integer value (the result of an integer division) if the two operands are integers (or strings that get converted to integers) and the quotient is an integer. If either operand is a floating-point value, or the operation results in a non-integer value, a floating-point value is returned.

The basic assignment operator is "=". Your first inclination might be to think of this as "equal to". Don't. It really means that the the left operand gets set to the value of the expression on the rights (that is, "gets set to").

The value of an assignment expression is the value assigned. That is, the value of "$a = 3" is 3. This allows you to do some tricky things:

$a = ($b = 4) + 5; // $a is equal to 9 now, and $b has been set to 4.

In addition to the basic assignment operator, there are "combined operators" for all of the binary arithmetic and string operators that allow you to use a value in an expression and then set its value to the result of that expression. For example:

$a = 3; $a += 5; // sets $a to 8, as if we had said: $a = $a + 5; $b = "Hello "; $b .= "There!"; // sets $b to "Hello There!", just like $b = $b . "There!";

Note that the assignment copies the original variable to the new one (assignment by value), so changes to one will not affect the other.

Comparison operators, as their name implies, allow you to compare two values.

Example | Name | Result |

$a == $b | Equal | True if $a is equal to $b. |

$a != $b | Not equal | True if $a is not equal to $b. |

$a < $b | Less than | True if $a is strictly less than $b. |

$a > $b | Greater than | True if $a is strictly greater than $b. |

$a <= $b | Less than or equal to | True if $a is less than or equal to $b. |

$a >= $b | Greater than or equal to | True if $a is greater than or equal to $b. |

Another conditional operator is the "?:" (or ternary) operator, which operates as in C and many other languages.

(expr1) ? (expr2) : (expr3);

This expression evaluates to expr2 if expr1 evaluates to true, and expr3 if expr1 evaluates to false.

PHP supports C-style pre- and post-increment and decrement operators.

Example | Name | Effect |

++$a | Pre-increment | Increments $a by one, then returns $a |

$a++ | Post-increment | Returns $a, then increments $a by one |

--$a | Pre-decrement | Decrements $a by one, then returns $a |

$a-- | Post-decrement | Returns $a, then decrements $a by one |

Here's a simple example script:

<?php echo "<h3>Postincrement</h3>"; $a = 5; echo "Should be 5: " . $a++ . "<br>\n"; echo "Should be 6: " . $a . "<br>\n"; echo "<h3>Preincrement</h3>"; $a = 5; echo "Should be 6: " . ++$a . "<br>\n"; echo "Should be 6: " . $a . "<br>\n"; echo "<h3>Postdecrement</h3>"; $a = 5; echo "Should be 5: " . $a-- . "<br>\n"; echo "Should be 4: " . $a . "<br>\n"; echo "<h3>Predecrement</h3>"; $a = 5; echo "Should be 4: " . --$a . "<br>\n"; echo "Should be 4: " . $a . "<br>\n"; ?>

Example | Name | Effect |

$a and $b | And True if both $a and $b are true | |

$a or $b | Or True if either $a or $b is true | |

$a xor $b | Xor True if either $a or $b is true, but not both | |

! $a Not | True if $a is not true | |

$a && $b | And True if both $a and $b are true | |

$a || $b | Or True if either $a or $b is true | |

The reason for the two different variations of "and" and "or" operators is that they operate at different precedences.

There are two string operators. The first is the concatenation operator ('.'), which returns the concatenation of its right and left arguments. The second is the concatenating assignment operator ('.='), which appends the argument on the right side to the argument on the left side. Please read Assignment Operators for more information.

$a = "Hello "; $b = $a . "World!"; // now $b contains "Hello World!" $a = "Hello "; $a .= "World!"; // now $a contains "Hello World!"

Well.... That's it! Click here to Close this window when you're done