La diferencia está en el precedencia. ¡Pero no solo comparado el uno con el otro!
En la mayoría de los casos no le importará, pero hay casos específicos en los que tiene que retroceder un paso y observar el panorama general.Toma esto, por ejemplo:
// The result of the expression (true && false) is assigned to $g
// Acts like: ($g = (true && false))
$g = true && false;
// The constant true is assigned to $h before the "and" operation occurs
// Acts like: (($h = true) and false)
$h = true and false;
var_dump($g, $h);
Esto producirá, respectivamente:
bool(false)
bool(true)
En otras palabras, &&
tiene preferencia mayor que =
, que tiene mayor precedencia que and
, como se indica en http://php.net/manual/en/language.operators.precedence.php. (Se menciona en otras respuestas, pero creo que vale la pena detallar, ya que un mal uso puede conducir a errores lógicos)
Espero que lo pueda ayudar. Puede encontrar más en http://php.net/manual/en/language.operators.logical.php
Old VB programmer, ey? Sí, '&&' es AND, pero '&' es AND (bit a bit). Liekwise para '||' y '|' son OR y OR (bitwise), respectivamente. :: Lo llevo de vuelta, PHP permite Y/O palabras - increíble. Aprenda algo nuevo cada día. –
no :) Empecé con Turbo Pascal, y admito que me gusta más el pascal synthax :) – Alex
@Alex: Ah, los días de Pascal/Delphi. Cómo aborrezco, me equivoco, me refiero a _love_, esos días ... –