Hey, bienvenidos!
Mi nombre es Marcelo Ferreiro, y cree esta web para aprender php, compartiendolo con el mundo, mi idea es postear primero las lecciones más básicas y luego ir compartiendo todo lo que voy aprendiendo. Recursos, tutorials, y manuales de PHP. Espero que os sea tan útil como a mi.
Marcelo Ferreiro - Autor

Conceptos básicos II - Expresiones y operadores

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 ;)

++$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.

12 Comentarios en “Conceptos básicos II - Expresiones y operadores”

  • Yo tengo una duda:

    Arriba has puesto
    function foo () { 
    ¿Por qué has puesto foo? ¿Significa algo en especial o da igual lo que pongas?

  • foo en dicho caso es el nombre de la función, puede ser cualquier nombre… foo se utiliza muchas veces como ejemplo, pero bien podría haberse llamado sumar() o sumadosnumeros()

  • A vale, entonces el nombre de una función no tiene importancia, sino lo que contiene, ¿verdad?

  • Exactamente, el nombre simplemente sirve para identificarla y llamarla, en general es una buena práctica de programación el ponerle nombre relativos a su funcionamiento, ej: crearMenu() es mejor nombre que funcion1() para una función que crea el menu, o imprimir() sería un buen nombre para una función que imprime texto ;)

  • Pero es que en wordpress hay plugins que para que aparezcan hayq que poner una funcion en concreto, sin nada más.

    De ahi que yo pensara que el nombre de la funcion es algo mas que para saber que hace, porque según su nombre mostraba el contenido de un plugin u otro, sin tener nada más en los parentesis ni nada, solo el nombre del plugin ya lo muestra. ¿Como sabe wordpress que tienen que mostrar viendo solo el nombre?

  • Si claro, o sea, cuando yo dije que el nombre puede ser cualquiera, me refería al programar un script (o un plugin para wordpress), puedo elegir el nombre que quiera, pero luego al llamar a esa función (ya programada) ahi se debe utilizar el nombre que el programador le dió, o sea para llamar al titular usamos wp_head() porque el programador eligió ese nombre.. podría haber elegido lo que el hubiera querido, pero luego de que se definió la variable con un nombre, si tenemos que utilizar ese nombre especificamente para llamarla ;)

    Espero haber aclarado un poco más… :)
    Saludos!

  • Un poco más claro está, pero me falta una cosa: ¿Dónde pone a qué hace referencia cada función?

    Es decir, el programador decidió que se llamara así la función, pero ¿dónde lo puso?

    Gracias por tu ayuda, esto cada día se ve más claro.

  • El 25 de Febrero de 2008, jhonn05 dijo:

    las funciones se declaran mediante la sentencia function.
     En este caso
     function foo () { contenido de la función}

  • Es decir, el programador decidió que se llamara así la función, pero ¿dónde lo puso?

    En todos los archivos del sistema de wordpress (functions.php, wp-includes, etc…) ;)

  • En tonces, cuano se crea un plugin, por ejemplo el "Cat_Title", que se utiliza para modificar el título que se muestra por página (el título, no la url, que para eso estan los permalinks)  ¿modifica todo wordpress para decirle que cuando pongas "<?php ca_title(); ?>" aparezca el título?

  • El caso de los plugins es un tema particular, ya que hay plugins que modifican, otros que "pasan por arriba" otras funciones y otros simplemente crean una nueva función y nos la dejan disponible cuando antes no estaba…

    No se como funciona ese plugin en particular, pero probablemente defina la función ca_title() y tu puedas llamarla desde los archivos del theme y tengas esa "nueva funcionalidad" que sin el pulgin no tendrías ;)

1 Trackback(s)

  1. 25.Feb.2008: Ejercicios de PHP » PHPnight

CC - 2008 - PHPnight - Sitemap
CMS: WordPress, theme by nEUtrOniCs, translated and modified by Marcelo Ferreiro.