cursos online, formacion on-line, teleformación, Elearning, Cursos online de ofimática, diseño gráfico, web, gestión, idiomas, programacion - ADR Formación

2- Programación en PHP I

Introducción

La sintaxis de PHP es muy similar a la de C o C++. Quizás lo más destacado ocurre a nivel semántico: el tipado es muy poco estricto, es decir, cuando creamos una variable en ella podemos almacenar el tipo de datos que queramos. Esto es muy flexible y cómodo para el desarrollador, aunque los errores que se cometen pueden ser mucho más graves y difíciles de corregir. Las posibilidades del interprete para detectar incompatibilidades entre variables se reducen mucho y pueden ocurrir cosas extrañas en determinadas circunstancias si no tenemos cuidado.

Nota: Los códigos de esta unidad se guardarán en c:\apache\htdocs\cursoPHP\unidad2

Sintaxis básica

PHP y HTML

PHP nos permite embeber sus fragmentos de código dentro de la página HTML, es decir, es posible incluir lenguaje PHP en un código HTML. Es por tanto necesario especificar cuáles son las partes constitutivas del código PHP. Esto se consigue delimitando nuestro código por etiquetas

Como vimos en la unidad anterior, el modo de funcionamiento de una página PHP es el siguiente: el servidor va a reconocer la extensión correspondiente a la página PHP ( php, php3, php4, phtml,...) y antes de enviarla al navegador va a encargarse de interpretar y ejecutar todo aquello que se encuentre entre las etiquetas correspondientes al lenguaje PHP. El resto, lo enviara sin más, ya que asumirá que se trata de código HTML absolutamente comprensible por el navegador.

Hay cuatro conjuntos de etiquetas que delimitan el código PHP:

 

<?php   y     ?>
<?       y      ?>
<%        y      %>
<script language="php">  y   </script>

De estos cuatro tipos de etiquetas, sólo dos, <?php. . .?> y <script language="php">. . .</script>, están siempre disponibles. El resto pueden ser configuradas en el fichero php.ini para ser o no aceptadas por el intérprete. 

Los siguientes ejemplos muestran las distintas formas de embeber código PHP en HTML:


ejecutar ver código fuente

No os preocupéis si no comprendéis el texto entre las etiquetas, todo llegará. Os adelantamos que las variables en PHP se definen anteponiendo un símbolo de dólar ($) y que la instrucción echo sirve para sacar en pantalla lo que hay escrito a continuación.

    La instrucción echo de PHP

Esta instrucción PHP da salida a lo que haya escrito a continuación.     Realmente echo() no es una función (es una sentencia o instrucción del lenguaje) de modo que no se requiere el uso de los paréntesis.

¡Atención! El primer método, <?php. . .?>, es el más conveniente y es el que utilizaremos a lo largo del curso. 

 

Nota: No se debe usar el formato corto de etiquetas, <?. . .?>,  cuando se desarrollen aplicaciones o librerías con intención de redistribuirlas, o cuando se desarrolle para servidores que no están bajo nuestro control, porque puede ser que el formato corto de etiquetas no esté soportado en el servidor. Para generar código portable y redistribuíble, asegúrate de no usar el formato corto de etiquetas.

Separación de instrucciones

Las separación de instrucciones en PHP se hace terminando cada declaración con un punto y coma ";".
Para la ultima instrucción, la que va antes del cierre de etiqueta, este formalismo no es necesario.

Los siguientes códigos son equivalentes, aunque en el segundo no se incluya punto y coma después de la última instrucción: 

ejecutar ver código fuente

ejecutar

Embeber código PHP dentro de HTML. Separación de instrucciones.

Comentarios

Un comentario es un texto de carácter informativo que incluimos en el código para comprenderlo fácilmente al volverlo a leer un tiempo después. El servidor ignora los comentarios ya que no van dirigidos a él sino a nosotros mismos. 
Los comentarios tienen una gran utilidad ya que es muy fácil olvidarse del funcionamiento de un script programado un tiempo atrás y resulta muy útil si queremos hacer fácilmente comprensible nuestro código a otra persona.

Hay varias formas de incluir estos comentarios dependiendo de si el texto consta de una o más líneas:

  • Para comentarios de una sola línea se utilizan los símbolos doble barra, //, ó almohadilla, #.
  • Mediante los símbolos /* y */ creamos comentarios multilínea. También es posible usar estos últimos en una sola línea.

Veamos un primer ejemplo:



ejecutar ver código fuente


La ejecución del programa anterior muestra en pantalla el siguiente resultado, compruébalo!:

Observamos que el servidor ha ignorado las líneas de texto incluidas entre comentarios.

Nota: Todo el texto insertado en forma de comentario es completamente ignorado por el servidor. Resulta importante acostumbrarse a dejar comentarios, es algo que se agradece con el tiempo.

Los estilos de comentarios de una línea sólo comentan hasta el final de la línea actual de código PHP. Esto implica que el código HTML tras las marcas // ?> será impreso. La etiqueta ?> sale del modo PHP, volviendo al modo HTML donde el comentario // no tiene influencia.

Veamos un ejemplo aclaratorio:

ejecutar ver código fuente

El script anterior muestra el siguiente resultado:


Hay que tener cuidado con no anidar comentarios multilínea porque da problemas:

Observamos cómo el editor Zend detecta un error sintáctico en la línea 9 del código ya que muestra una línea roja ondulada bajo el símbolo */. El código anterior es sintácticamente incorrecto.

Comentarios en PHP

Tipos

Conceptos Generales

  • Los programas tratan la información en forma de datos y estos datos se clasifican por tipos. De ahí viene el concepto de tipo de datos.
  • PHP soporta los siguientes tipos de datos:
    • entero
    • números en punto flotante
    • cadena
    • array
    • objeto

    Estos tipos de datos se clasifican en dos categorías:

    • Escalares: enteros, punto flotante y cadenas. Los tipos escalares son aquellos cuyos valores no pueden 'dividirse' en partes menores, no como los arrays, por ejemplo. 
    • Compuestos: arrays y objetos. Se puede asignar cada uno de estos tipos de valor a variables o bien devolverse de funciones sin ningún tipo de limitación.
  • Como comentamos en la primera unidad, el tipado en PHP es muy poco estricto. El tipo de una variable normalmente no lo indica el programador; en su lugar, lo decide PHP en tiempo de ejecución dependiendo del contexto en el que se utilice esa variable.
    Si se quisiese obligar a que una variable se convierta a un tipo concreto, se podría forzar la variable o usar la función settype().
    Una variable se puede comportar de formas diferentes en ciertas situaciones, dependiendo de qué tipo sea en ese momento. 

Enteros

Los enteros se pueden especificar usando la siguiente sintaxis:

$num1 = 7577; // El dato (o variable) $num1 es de tipo entero.
$num2 = -33; // El dato (o variable) $num2 es de tipo entero.

Números en punto flotante

Los números en punto flotante (números decimales) se pueden especificar utilizando la siguiente sintaxis:

$num = 75.77; // El separador decimal es un punto y no una coma.

Cadenas

Las cadenas de caracteres se pueden especificar usando dos tipos de delimitadores:

  • Comillas dobles: Si la cadena está encerrada entre dobles comillas (""), las variables que estén dentro de la cadena serán expandidas (es decir, en la cadena aparecerá el valor de la variable y no su nombre). El carácter de barra invertida ("\") se puede usar para especificar caracteres especiales:
    Secuencia Significado
    \n Nueva línea
    \r  Retorno de carro
    \t   Tabulación horizontal
    \\  Barra invertida
    \$ Signo del dólar
    \"  Comillas dobles

  • Comillas simples: Cuando una cadena va encerrada entre comillas simples (''), los únicos caracteres de escape que serán comprendidos son "\\" y "\'". Esto es por convenio, así que se pueden tener comillas simples y barras invertidas en una cadena entre comillas simples. Las variables no se expandirán dentro de una cadena entre comillas simples.

Las cadenas se pueden concatenar usando el operador '.' (punto). Nótese que el operador '+' (suma) no sirve para esto. 

Se puede acceder a los caracteres dentro de una cadena tratándola como un array de caracteres indexado numéricamente (el primer carácter de la cadena tendrá el índice 0)

Algunos ejemplos de cadenas:

ejecutar ver código fuente

El script anterior produce la siguiente salida:

Tratamiento de cadenas de texto.

Arrays

Un array es un tipo de datos con una importante peculiaridad: no contiene un único valor, sino un conjunto de valores referenciados con un índice. Aunque al principio puedan parecer poco amistosos, su uso es utilísimo e imprescindible en programación.

Hay dos formas de crear arrays, estática o dinámicamente:

  • Podemos crear arrays de forma estática usando la función array() con la siguiente sintaxis:
    Array array([índice1]=>[valor1], [índice2]=>[valor2], ...);
    teniendo en cuenta que podemos asignar manualmente el índice o dejar que PHP lo haga por nosotros.

    Veamos un ejemplo: Supongamos que queremos almacenar en variables los días de la semana. Podríamos usar variables simples ($semana1="lunes";$semana2="martes"; y así sucesivamente), o podemos declarar un array llamado $semana:



    obteniendo así un array con una lista indexada de los días de la semana. El primer valor corresponde al índice cero, el segundo al uno, y así sucesivamente.
    Nota: Por convención, el primer valor de un array corresponde siempre -por defecto- al valor cero.

    Ahora podemos recuperar cualquier valor específico refiriéndonos a su índice
    Por ejemplo, para presentar el nombre del tercer día de la semana podríamos escribir simplemente:


  • Tambien podemos crear arrays dinámicamente, sencillamente agregando nuevos valores. Por ejemplo:



    Por este mismo sistema también podemos modificar el valor de un array dado, e incluso añadir valores sin asignar índice, que será asignado automáticamente por PHP:


Arrays asociativos

Como hemos comentado, un array está formado por conjuntos de pares indice => valor
Hasta ahora hemos manejado un ejemplo con índices numéricos (a este tipo de arrays se les conoce como arrays escalares), pero también es posible usar cadenas de caracteres como índices. Este tipo de arrays son los arrays asociativos:

Arrays Multidimensionales

Un array multidimensional es un array en el que al menos uno de sus valores es, a su vez, un array:

Y podemos acceder a dichos valores añadiendo un par de corchetes:

Este código muestra por pantalla: 642378510

Veamos cómo utilizar la función array() para "rellenar" arrays multidimensionales:

Objetos

Se trata de conjuntos de variables y funciones asociadas. Presentan una complejidad mayor que los tipos vistos hasta el momento y por ello serán tratados con más detenimiento en la siguiente unidad. Su utilidad es muy interesante.

Variables

Conceptos Generales

  • Una variable es un contenedor de información, en el que podemos almacenar números enteros, números decimales, caracteres, etc. Una variable es un elemento al cual le damos un nombre y le atribuimos un determinado tipo de información. El valor que toma una variable puede cambiar en el transcurso de un programa. Las variables pueden ser consideradas como la base de la programación.
  • Las variables en PHP se representan como un signo de dólar ($) seguido por el nombre de la variable, por ejemplo, $num sería una variable de PHP.

    Importante: Un nombre de variable válido empieza con una letra o el carácter de subrayado, seguido por una serie letras, números, o subrayados. Los nombres de variables en PHP no admiten espacios en blanco, signos de puntuación (acentos, ¡!, ¿?, etc), ni caracteres especiales(%, ñ, etc)

     

  • El nombre de la variable es sensible a mayúsculas y minúsculas, es decir, las variables $num y $Num serían dos variables diferentes en PHP.
  • No es necesario declarar variables en PHP. Las variables se definen por asignación y asumen el tipo del dato que contienen.

  • En PHP3, las variables siempre se asignan por valor. Esto significa que cuando se asigna una expresión a una variable, el valor íntegro de la expresión original se copia en la variable de destino. Esto quiere decir que, por ejemplo, después de asignar el valor de una variable a otra, los cambios que se efectúen a una de esas variables no afectará a la otra. 

    PHP4 ofrece otra forma de asignar valores a las variables: asignar por referencia. Esto significa que la nueva variable simplemente referencia (en otras palabras, "se convierte en un alias de" o "apunta a") la variable original. Los cambios a la nueva variable afectan a la original, y viceversa. Esto también significa que no se produce una copia de valores; por tanto, la asignación ocurre más rápidamente. 

    Para asignar por referencia, simplemente se antepone un ampersand (&) al comienzo de la variable cuyo valor se está asignando (la variable fuente). 

    Veamos un ejemplo:

    ejecutar ver código fuente

    El código anterior produce la siguiente salida:



    Nota: Algo importante a tener en cuenta es que sólo las variables con nombre pueden ser asignadas por referencia.


Variables predefinidas

Dada su naturaleza de lenguaje de lado servidor, PHP proporciona una gran cantidad de variables predefinidas, que nos informan sobre nuestro servidor y sobre el cliente. La información de estas variables es atribuida por el servidor y en ningún caso nos es posible modificar sus valores directamente mediante el script. Para hacerlo es necesario influir directamente sobre la propiedad que definen.

Existen multitud de variables de este tipo, algunas sin utilidad aparente y otras realmente interesantes y con una aplicación directa para nuestro sitio web. Aquí enumeramos algunas de estas variables y la información que nos aportan:

Variable Descripción
$HTTP_USER_AGENT Nos informa principalmente sobre el sistema operativo y tipo y versión de navegador utilizado por el internauta. Su principal utilidad radica en que, a partir de esta información, podemos redireccionar nuestros usuarios hacia páginas optimizadas para su navegador o realizar cualquier otro tipo de acción en el contexto de un navegador determinado.
$HTTP_ACCEPT_LANGUAGE Nos devuelve la o las abreviaturas de la lengua considerada como principal por el navegador. Esta lengua o lenguas principales pueden ser elegidas en el menú de opciones del navegador. Esta variable resulta también extremadamente útil para enviar al internauta a las páginas escritas en su lengua, si es que existen.
$HTTP_REFERER Nos indica la URL desde la cual el internauta ha tenido acceso a la página. Muy interesante para generar botones de "Atrás" dinámicos o para crear nuestros propios sistemas de estadísticas de visitas.
$PHP_SELF Nos devuelve una cadena con la URL del script que está siendo ejecutado. Muy interesante para crear botones para recargar la página.
$HTTP_GET_VARS Se trata de un array que almacena los nombres y contenidos de las variables enviadas al script por URL o por formularios GET
$HTTP_POST_VARS Se trata de un array que almacena los nombres y contenidos de las variables enviadas al script por medio de un formulario POST
$HTTP_COOKIES_VARS Se trata de un array que almacena los nombres y contenidos de las cookies. Veremos qué son más adelante.
$PHP_AUTH_USER Almacena la variable usuario cuando se efectúa la entrada a páginas de acceso restringido. Combinado con $PHP_AUTH_PW resulta ideal para controlar el acceso a las páginas internas del sitio.
$PHP_AUTH_PW Almacena la variable password cuando se efectúa la entrada a páginas de acceso restringido. Combinado con $PHP_AUTH_USER resulta ideal para controlar el acceso a las páginas internas del sitio.
$REMOTE_ADDR Muestra la dirección IP del visitante.
$DOCUMENT_ROOT Nos devuelve el path físico en el que se encuentra alojada la página en el servidor.
$PHPSESSID Guarda el identificador de sesión del usuario. Veremos más adelante en qué consisten las sesiones.

 

Nota: No todas estas variables están disponibles en la totalidad de servidores o en determinadas versiones de un mismo servidor. Además, algunas de ellas han de ser previamente activadas o definidas. Así, por ejemplo, la variable $HTTP_REFERER no estará definida a menos que el internauta acceda al script a partir de un enlace desde otra página.

Para obtener la lista de variables predefinidas disponibles en nuestra instalación podemos ejecutar el script phpinfo.php que se ha instalado en la carpeta htdocs de Apache. Para ello basta con escribir en la barra de direcciones del navegador  http://localhost/phpinfo.php.
Obtendremos así gran cantidad de información sobre el estado actual de PHP: opciones de compilación y extensiones de PHP, la versión PHP, información y entorno del servidor, el entorno PHP, información sobre la versión del SO, rutas, opciones de configuración maestras y locales, cabeceras HTTP, y la Licencia Pública GNU.

Ámbito de las variables

  • El ámbito de una variable es el contexto dentro del cual la variable está definida. 
  • La mayor parte de las variables PHP sólo tienen un ámbito simple. Este ámbito simple también abarca los ficheros incluidos y los requeridos. Por ejemplo:


  • Dentro de las funciones definidas por el usuario aparece un ámbito local a la función, es decir, cualquier variable que se use dentro de una función está, por defecto, limitada al ámbito local de la función. 
    Por ejemplo:



    Nota: El comportamiento descrito en el ejemplo difiere lenguaje C, en el que las variables globales están disponibles automáticamente dentro de la función a menos que sean expresamente sobreescritas por una definición local.

    Importante: En PHP, las variables globales deben ser declaradas globales dentro de la función si van a ser utilizadas dentro de dicha función. No hay límite al número de variables globales que se pueden manipular dentro de una función. Veamos un ejemplo:



  • Otra característica importante del ámbito de las variables es la variable static. Una variable estática existe sólo en el ámbito local de la función, pero no pierde su valor cuando la ejecución del programa abandona este ámbito. Consideremos el siguiente ejemplo:

Constantes

  • Una constante es un dato cuyo valor no puede variar durante la ejecución del programa. 
  • El nombre de las constantes es sensible a mayúsculas. 
    Por convención, los identificadores (nombres) de las constantes suelen declararse en mayúsculas.
    Importante: Un nombre de constante válido empieza con una letra o el carácter de subrayado, seguido por una serie letras, números, o subrayados. Los nombres de constantes en PHP no admiten espacios en blanco, signos de puntuación (acentos, ¡!, ¿?, etc), ni caracteres especiales(%, ñ, etc).

  • El alcance de una constante es global, es decir, es posible acceder a ellas sin preocuparse por el ámbito de alcance.

Sintaxis

  • Se puede definir una constante usando la función define(). Una vez definida, no puede ser modificada ni eliminada.
  • Solo se puede definir como constantes valores escalares (boolean, integer, float y string ). Los tipos escalares son aquellos cuyos valores no pueden 'dividirse' en partes menores, no como los arrays, por ejemplo.
  • Para obtener el valor de una constante solo es necesario especificar su nombre. A diferencia de las variables, no se tiene que especificar el prefijo $. También se puede utilizar la función constant() para obtener el valor de una constante.
  • Diferencias entre constantes y variables:
    • Las constantes no son precedidas por un símbolo de dólar ($).
    • Las constantes solo pueden ser definidas usando la función() define , nunca por simple asignación.
    • Las constantes pueden ser definidas y accedidas sin tener en cuenta las reglas de alcance del ámbito.
    • Las constantes no pueden ser redefinidas o eliminadas después de establecerse.
    • Las constantes solo puede albergar valores escalares (boolean, integer, float y string ).

Ejemplo: Definición de constantes

Constantes predefinidas

PHP ofrece un largo número de constantes predefinidas. Muchas de estas constantes, sin embargo, son creadas por diferentes extensiones, y solo estarán presentes si dichas extensiones están disponibles.
A lo largo del curso comentaremos las constantes predefinidas más utilizadas en PHP. 

Operadores

Operadores Aritméticos

Sintaxis Nombre Descripción
$a + $b Adición  Suma de $a y $b.
$a - $b Substracción Diferencia entre $a y $b
$a * $b Multiplicación Producto de $a y $b
$a / $b División Cociente de $a entre $b
$a % $b Módulo Resto de la división de $a entre $b

Operadores de Asignación

El operador básico de asignación es "=". 
No tiene el significado del operador de comparación "igual que", lo que realmente significa es que el operando de la izquierda toma el valor de la expresión a la derecha, es decir, se podría traducir por "toma el valor de".

El valor de una expresión de asignación es el propio valor asignado. Esto es, el valor de "$a = 3" es 3. 
Esto permite hacer cosas curiosas como:


Además del operador básico de asignación, existen los "operadores combinados" para todas las operaciones aritméticas y de cadenas que sean binarias. Estos operadores combinados permiten, de una sola vez, usar una variable en una expresión y luego establecer el valor de esa variable al resultado de la expresión. Por ejemplo:

Operadores de Comparación

Los operadores de comparación, como su nombre indica, permiten comparar dos valores.

Sintaxis Nombre Descripción
$a == $b Igualdad Cierto si $a es igual a $b.
$a === $b Identidad Cierto si $a es igual a $b y si son del mismo tipo (sólo PHP4)
$a != $b Desigualdad Cierto si $a no es igual a $b.
$a < $b Menor que Cierto si $a es estrictamente menor que $b.
$a > $b  Mayor que Cierto si $a es estrictamente mayor que $b.
$a <= $b Menor o igual que Cierto si $a es menor o igual que $b.
$a >= $b Mayor o igual que Cierto si $a es mayor o igual que $b.

Operadores de Incremento/Decremento

PHP soporta los operadores de predecremento y post incremento al estilo de C.

Sintaxis Nombre Descripción
++$a Preincremento Incrementa $a en uno y después devuelve $a.
$a++ Postincremento  Devuelve $a y después incrementa $a en uno.
--$a Predecremento Decrementa $a en uno y después devuelve $a.
$a-- Postdecremento Devuelve $a y después decrementa $a en uno.

Veamos un ejemplo:

ejecutar ver código fuente

El programa anterior muestra el siguiente resultado:

Operadores preincremento, postincremento, predecremento y postdecremento.

Operadores Lógicos

Sintaxis Nombre Descripción
$a and $b ó $a && $b Y Cierto si tanto $a como $b son ciertos.
$a or $b ó $a || $b O Cierto si $a o $b son ciertos.
$a xor $b O exclusiva Cierto si $a es cierto o $b es cierto, pero no ambos a la vez.
! $a  Negación Cierto si $a no es cierto.

Operadores de Cadenas

Hay dos operadores de cadenas:

  •  El operador de concatenación '.', que devuelve el resultado de concatenar sus operandos izquierdo y derecho. 
  • El operador de concatenación-asignación '.=', que asigna al operando izquierdo el resultado de su concatenación con el operando derecho.

Ejemplo:

Expresiones e Instrucciones

Expresiones

  • PHP es un lenguaje orientado a expresiones, en el sentido de que casi todo es una expresión. En PHP, casi cualquier cosa que escribimos es una expresión. La forma más simple de definir una expresión es "cualquier cosa que tiene un valor".
  • Las formas más básicas de expresiones son las constantes y las variables: Cuando escribimos '$a = 5', estamos asignando '5' a $a. Obviamente, '5' tiene el valor 5 o, en otras palabras '5' es una expresión con el valor 5 (en este caso, '5' es una constante entera). Y también $a es una expresión con el valor 5 (en este caso, $a es una variable entera). 
  • Las funciones son un ejemplo algo más complejo de expresiones. Son expresiones que valen el valor que retornan (una función retorna un valor mediante el comando return, como estudiaremos más adelante). Por ejemplo, consideremos la siguiente función:



    Como la función prueba() devuelve el valor 5, el valor de la expresión 'prueba()' es 5. Por lo tanto, teclear $a=prueba() es esencialmente lo mismo que escribir $a=5. Normalmente las funciones no devuelven un valor fijo, sino que suele ser calculado.
  • Volvamos al ejemplo inicial '$a = 5'. Es sencillo ver que hay dos valores involucrados, el valor de la constante entera '5' y el valor de $a que está siendo actualizado también a 5. Pero la verdad es que hay un valor adicional implicado, y es el valor de la propia asignación. Una asignación es una expresión que se evalúa al valor asignado, en este caso 5. 
    En la práctica, esto quiere decir que '$a = 5', independientemente de lo que hace, es una expresión con el valor 5. De esta manera, escribir algo como '$b = ($a = 5)' es como escribir '$a = 5; $b = 5;' (un punto y coma marca el final de una instrucción). Como las asignaciones se evalúan de derecha a izquierda,  también podemos escribir  '$b = $a = 5'.
  • Un tipo muy corriente de expresiones son las expresiones de comparación. Estas expresiones se evalúan a 0 ó 1, significando FALSO (FALSE) o CIERTO (TRUE), respectivamente. PHP soporta > (mayor que), >= (mayor o igual que), == (igual que), != (distinto), < (menor que) y <= (menor o igual que). Estas expresiones se usan frecuentemente dentro de una ejecución condicional como la instrucción if.
  • El último tipo de expresiones que trataremos, es la combinación operador-asignación. Si escribimos   '$a = $a + 3', '$a + 3' se evalúa al valor de $a más 3, y se asigna de nuevo a $a, lo que da como resultado el incremento de $a en 3 unidades. 
    En PHP, como en otros lenguajes como C, es posible escribir esto de una forma más concisa: añadir 3 al valor actual de $a se puede escribir como '$a += 3'. Esto quiere decir exactamente "toma el valor de $a, súmale 3, y asígnalo otra vez a $a". Además de ser más corto y claro, también la ejecución es más rápida. El valor de '$a += 3', como el valor de una asignación normal y corriente, es el valor asignado. Hay que tener en cuenta que dicho valor NO es 3, sino el valor de $a más 3. 
    Cualquier operación binaria puede ser usada en forma de operador-asignación, por ejemplo:
         '$a -= 5' (restar 5 del valor de $a)
         '$b *= 7' (multiplicar el valor de $b por 7), etc.

Veamos un último ejemplo:

Funciones y operadores

 

Nota: El valor booleano de las expresiones.
En muchas ocasiones, principalmente en condicionales y bucles, no es relevante el valor exacto de una expresión, sino únicamente si es CIERTA (TRUE) o FALSA (FALSE). Dado que PHP no tiene un tipo booleano específico, el valor de verdad de las expresiones en PHP se calcula de la siguiente forma: 
  • Cualquier valor numérico distinto de cero es CIERTO (TRUE) y cero es FALSO (FALSE). Fíjate en que los valores negativos son considerados CIERTO (TRUE).
  • La cadena vacía y la cadena "0" son FALSO (FALSE); todas las demás cadenas son TRUE. 
  • Con los tipos no escalares (arrays y objetos), si el valor no contiene elementos se considera FALSO (FALSE), en caso contrario se considera CIERTO (TRUE).

Instrucciones

Una instrucción es una expresión seguida de un punto y coma, es decir, una instrucción tiene la forma 'expresión;'.

En el ejemplo '$b=$a=5;', $a=5 es una expresión válida, pero no es una instrucción en sí misma. Por otro lado '$b=$a=5;' sí es una instrucción válida.


Todos los derechos reservados © Copyright 2004 ADR Infor S.L.
Contacto: soporte@adrinfor.com