The precedence of an operator specifies how “tightly” it binds two expressions together. For example, in the expression 1 + 5 * 3, the answer is 16 and not 18 because the multiplication (“*”) operator has a higher precedence than the addition (“+”) operator. Parentheses may be used to force precedence, if necessary. For instance: (1 + 5) * 3 evaluates to 18. If operator precedence is equal, left to right associativity is used.

The following table lists the precedence of operators with the highest-precedence operators listed at the top of the table. Operators on the same line have equal precedence, in which case their associativity decides which order to evaluate them in.

Operator Precedence Associativity Operators Additional Information
non-associative clone new clone and new
left [ array()
non-associative ++ — increment/decrement
right ~ – (int) (float) (string) (array) (object) (bool) @ types
non-associative instanceof types
right ! logical
left * / % arithmetic
left + – . arithmetic and string
left << >> bitwise
non-associative < <= > >= <> comparison
non-associative == != === !== comparison
left & bitwise and references
left ^ bitwise
left | bitwise
left && logical
left || logical
left ? : ternary
right = += -= *= /= .= %= &= |= ^= <<= >>= => assignment
left and logical
left xor logical
left or logical
left , many uses

Left associativity means that the expression is evaluated from left to right, right associativity means the opposite.

Example #1 Associativity

$a = 5, $b = 5

// mixing ++ and + produces undefined behavior
$a = 1;
echo ++$a + $a++; // may print 4 or 5
?>
Use parentheses to increase readability of the code.

Google renueva el botón +1 Los cambios de imagen en Google afectan, incluso, a las herramientas más recientes que lanzó la compañía. En esta ocasión, se trata del botón +1, que ...
Apple no anunció solo uno,sino dos nuevos Iphone en su versión 6 Después de meses de especulación desenfrenada (y un número anormalmente alto de fugas aparentes), el nuevo iPhone ha llegado. De hecho, dos nuevos...
Hotmail super rápido Apenas una semana de las últimas mejoras en Hotmail, el popular servicio de Microsoft implementa una serie de cambios con los que conseguir un increme...
Origen de los Trolls en Internet El término actual surgió de los antiguos newsgroups de Usenet a fines de la decada de los 90?. El verbo trolling hace referencia a la técnica de pesca...
Microsoft limita la disponibilidad de las aplicaciones Metro de Windows 8 La semana pasada Microsoft confirmó que Windows Store será el único canal de distribución para las aplicaciones desarrolladas para Metro, uno de los i...
Caracteristicas de las Apps exitosas España es el país del mundo con mayor adopción de los smartphones (superando a Estados Unidos), con aproximadamente cuatro de cada diez usuarios móvil...
Estadisticas del Uso de LinkedIn Linked In existe desde antes de Facebook, y se ha consolidado como la red social para profesionales. Posterior a convertirse en compañía pública hace ...
HP lanza un nuevo PC de escritorio compacto, Pavilion Mini Desktop HP ha llegado al CES de Las Vegas con varias propuestas con las que pretende, asegura, revolucionar el mundo de los ordenadores. El gigante te...
YouTube anuncia un nuevo servicio de pago sin anuncios El sitio de vídeos en línea YouTube anunció hoy que el próximo 28 de octubre pondrá en marcha un nuevo servicio de pago que permitirá a los usuarios v...
Apple abre su nuevo servicio iCloud Apple ha publicado en la web una primera versión beta de su nuevo servicio iCloud. Por el momento para poder acceder a iCloud beta debemos disponer...
Operator Precedence on PHP
Tagged on: