Fácil :).
El error es que estás asignando y no comparando:
if( $a = 'abc' ) // Asignación
if( $a == 'abc' ) // Comparación
Siempre debes recordar esto:
izquierda = derecha:
asignación.
izquierda == derecha:
comparación de contenidos.
izquierda === derecha:
comparación de contenido y tipo.
Este último funciona así:
$a = 1;
$b = '1';
echo 'a == b?: ' . ($a == $b ? 'verdadero' : 'falso') . '<br />';
echo 'a === b?: ' . ($a === $b ? 'verdadero' : 'falso') . '<br />';
Copia y pega el código para que veas lo que ocurre. El primero debería decir
verdadero y el segundo
falso. Esto es porque, si bien ambos contienen el mismo número, el primero ($a) es realmente un número entero, mientras que el segundo ($b) es una cadena de texto y como === compara el contenido y el tipo, mostrará falso en la segunda comparación.