Conceptos básicos II – Expresiones y operadores

Conceptos básicos II – Expresiones y operadores

Fecha: 12-Feb-2008 | Autor: .
Guardado en: Tutoriales PHP

Una expresión es “cualquier cosa que contenga un valor”, por lo que casi cualquier cosa es una expresión.

Por lo tanto asignar el valor a una variable es una expresión:

$variable = 117;

Y también lo es una función más compleja:

function foo () {
$a = 12;
$b = 10;
$c = $a + $b;
return $c;
}

Pero no nos vayamos por las ramas, las funciones las veremos en los próximos posts…

Un operador es ‘algo‘ a lo que le entregamos una o más expresiones y nos devuelve otra expresión (que puede ser igual o distinta a las entregadas).
Pongamos un ejemplo sencillo, el operador +, si le entregamos los valores 3 y 5, nos devolverá el valor 8.

Hagamos una lista de los operadores básicos más utilizados:

Primero los operadores de artmética, estos son los operadores más conocidos por la mayoría de nosotros ya que son los mismos que utilizamos en matemáticas desde que eramos pequeños:

-$a negación devuelve el opuesto de $a
$a + $b suma devuelve la suma de $a + $b
$a – $b resta devuelve la resta de $a + $b
$a * $b producto devuelve el producto de $a + $b
$a / $b división devuelve el cociente de $a entre $b
$a % $b módulo devuelve el resto de la división entera
(ej. 7 % 2 = 1, ya que 7 dividido 2, nos da 3 y resto 1)

Luego tenemos los operadores lógicos:

$a and $b Y devuelve TRUE si $a y $b son TRUE
$a or $b O devuelve TRUE si cualquiera de ambas es TRUE
$a xor $b O exclusivo devuelve TRUE si una sola de $a y $be son TRUE
! $a No devuelve TRUE si $a es FALSE y viceversa
$a && $b Y devuelve TRUE si $a y $b son TRUE
$a || $b O devuelve TRUE si cualquiera de ambas es TRUE

También están los operadores de Incremento y Decremento, que son un poco particulares para quién los ve por primera vez, pero ya verás como con un ejemplo quedan bien claros ;)


¿Por qué este anuncio?
++$a pre-incremento Incrementa $a en 1 y luego devuelve $a
$a++ post-incremento Devuelve $a y luego incrementa $a en 1
–$b pre-decremento Decrementa $b en 1 y luego devuelve $b
$b– post-decremento Devuelve $b y luego incrementa $b en 1

Aquí te preguntarás cuál es la diferencia entre ++$a que incrementa y luego devuelve y $a++ que devuelve y luego incrementa, veamos un ejemplo para el que previamente debo hacer 2 aclaraciones que sólo por ahora serán “sacadas de la manga” y las explicaremos más adelante:

  1. cuando ponemos // (doble barra) en php, significa que desde ahí en adelante esa linea de código es un comentario del programador y no se interpretan ni se muestran al usuario.
  2. echo es una sentencia de php que muestra por pantalla una expresión o variable.
// recuerda, esto es sólo un comentario y los usare para explicar el código
$a = 1; // $a vale 1
echo $a++; // se muestra 1 por pantalla y luego $a pasa a valer 2
echo ++$a; // primero $a pasa a valer 3 y luego se muestra en pantalla

Ahora es tiempo de los Operadores de comparación, veamos el cuadro:

$a == $b Igual TRUE si $a es igual a $b
$a === $b Idéntico TRUE si $a es igual a $b y son de igual tipo
$a != $b Diferente TRUE si $a no es igual a $b (idem $a <> $b)
$a !== $b No idénticos TRUE si $a no es igual a $b o si son de diferente tipo
$a < $b Menor que TRUE si $a es menor que $b
$a > $b Mayor que TRUE si $a es mayor que $b
$a <= $b Menor o igual TRUE si $a es menor o igual que $b
$a >= $b Mayor o igual TRUE si $a es mayor o igual que $b

Por último y para terminar con los las expresiones y operadores tenemos el operador de cadena.
Este es el ‘.’ (el punto), y lo que hace es concatenar o unir, dos cadenas de texto.

Así por ejemplo si tenemos “Hola “.”Mundo”, nos da como resultado una única cadena que dice “Hola Mundo”.

$a = "Mi nombre ";
$b = "es Marcelo";
 
$c = $a . $b; // $c contendrá el texto "Mi nombre es Marcelo"

Bueno, espero que te haya sido útil, y como digo siempre, puedes publicar cualquier duda que te surja en los comentarios.


Si te gustó, comparte:
Y si fue de ayuda, puedes comprarme un café:
...ó la cena si quieres! ;)

Etiquetado como: , , , ,


Gravatar

Marcelo


Desarrollador web, trabajando desde Montevideo, Uruguay para todo el mundo. Me especializo en Diseño web, Maquetación HTML5 & CSS3, jQuery y Programación PHP & MySQL, e intento aprender un poco más cada día.

1 comentario, anímate y deja otro tú!

  1. Bonnie O.

    31. Mar, 2012

    Hey, yo tengo una duda :$ jaja… Te explicaré que entiendo y me corriges si estoy mal, porque parece que me pierdo un poco fácil…

    En el caso del ejemplo de
    $a = 1
    $a++ = 2 (va acá se incrementa en 1 al valor original de $a)

    ++$a = 3
    pero acá ¿qué sucede? yo entiendo que toma el valor que devolvió $a++ y le incrementa 1… ¿Estoy mal? o ¿en todo estoy mal? :$

Deja tu opinión