# Operators & Mathematics in PHP

Mathematics is an important part of programming. In fact, programming is a mathematical concept. This article will discuss how mathematics in PHP works.

## Operators

There are a collection of mathematical operators that perform different tasks. The expressions used to represent such operators are shown in the following table, along with an example of each.

Name Description Operator Code Example Result
Addition Simply used to add two numbers together. `+` `5 + 10` 15
Subtract Used to subtract the second number from the first `-` `10 - 5` 5
Multiply Used to multiply two numbers `*` `7 * 4` 28
Divide Used to divide the first number by the second number and return a floating point number `/` `50 / 7` 7.14...
Raise Raise a number to another number in the same way as the mathematical representation xy `**` `2**7` 128
Modulus Used to get the remainder of a division as an integer. `%` `5 % 4` 1

These operations can be used to return a result as an integer or floating point number.

## Boolean operators

A boolean operation can be used to return a boolean value (`true` or `false`). The table below specifies all of these available in PHP:

Name Description Operator Code Example (of truth)
Greater than True if the first expression is greater than the second expression > 7 > 4
Less than True if the first expression is less than the second expression < 7 < 16
Greater than or equal to True if the first expression is greater than or equal to the second expression >= 17 >= 16
Less than or equal to True if the first expression is less than or equal to the second expression <= 16 <= 16
Equal to True if both expressions are equal == 16 == 16
Not equal True if both expressions are not equal != 16 != 7

The results of these operations can be placed in a boolean variable as shown in the following sample:

PHP
```\$a = 5;
\$b = 9;

\$c = \$a + \$b - 7;

\$result = \$c > \$a;

echo \$result;
```

The above sample should return the boolean `true`.

## Logical operators

Boolean logic also uses other operators. These can also be represented in PHP and are also known as bitwise operators. Formal logic and specification defines the way these work and PHP contains expressions that form statements like the following which can be constructed in PHP:

x = (a ∧ b) ⊕ (c ∨ d)

The above expression will evaluate true when a and b are both false and either c or d are true or when a and b are both true and both c and d are false due to the ⊕ operator.

The following table shows these operators.

Name Description Logical symbol Operator code Example (of truth)
And Logical conjunction, true when both expressions are true. `&&` `true && true`
Or Logical disjunction, true when either expressions are true. `||` `true || false`
Not Logical negation, returns true when given a false expression. ¬ `!` `!(false)`

The following is a truth table that represents each of the operators shown above for some P and some Q.

P Q ¬P P∧Q P∨Q
T T F T T
T F F F T
F T T F T
F F T F F

## Incrementing and decrementing

Most languages have a shorthand method for increasing a value or variable by another value that saves writing the whole assignment and mathematical expression.

For instance, consider the following:

PHP
```\$x = 10;
echo \$x;
\$x = \$x + 1;
echo \$x;
\$x = \$x - 1;
echo \$x;
```

The method of increasing the value of `\$x` is to reassign the value with the value plus one. What if there were a simpler, more syntactically concise method of doing this?

Meet incrementing and decrementing values. In reference to a value or a variable, incrementing and decrementing are very important as in many programming languages they are able to produce small performance benefits.

PHP increments with `\$x += 1` and decrements with `\$x -= 1`, but it also offers `\$x++` and `\$x--` as well as the `++\$x` and `--\$x` syntaxes:

PHP
```\$x = 10;
echo \$x;
\$x += 1;
echo \$x;
\$x -= 1;
echo \$x;
\$x--;
echo \$x;
\$x++;
echo \$x;
--\$x;
echo \$x;
++\$x;
echo \$x;
```

PHP also offers two types of increment and decrement: pre and post:

 `\$a++` Post incrementing ` ++\$a` Pre incrementing

In both cases, these add 1 to the variable `\$a`. In the first case (post incrementing), it is done after the call to the variable. In the second case (pre incrementing) it is done before the call to the variable. This next example shows this:

PHP
```\$x = 10;
//Will display 10
echo \$x++;
//The value of \$x is now 11
//When the next pre-increment is applied it will display 12
echo ++\$x;

```
Feedback
Comments are sent via email to me.