3.1 Formato del código PHP. Introducción a PHP. En el año de 1994 el canadiense-danés Rasmus Lerdorf creo una serie de “comandos del servidor” creando las “ Personal Home Page Tools”, añadiendo posteriormente un interpretador de formularios “FI”. En 1995, Rasmus Lerdford presento la primera versión de PHP al publico a través de un mensaje en el grupo de noticias comp.infosystems.www.auhoring.cgi, publicando bajo la licencia libre GNU. Dichos comandos estaban escritos en C, de ahí que su sintaxis es muy similar a este lenguaje. La comunidad de desarrolladores se empezó a interesar por PHP/FI y en poco tiempo se convirtió en un elaborado trabajo en equipo, siendo la ultima versión disponible la 5. Actualmente PHP se utiliza como acrónimo de “Hipertext Preprocessor”, es decir, como preprocesador de páginas Web. PHP es un lenguaje de secuencias de comandos (scripts), que se integran directamente en las paginas HTML y son interpretadas por el servidor. El proceso es el siguiente: El navegador envía una solicitud http al servidor Web (se llama a una pagina que redesea visualizar). El servidor reacciona, lee la pagina PHP, ejecuta los comando que esta contiene y envía el documento traducido en formato HTML. Ya que PHP se ejecuta en el lado del servidor, el usuario nunca llega a ver el código PHP, sino que se limita a recibir el formato final en formato HTML. Nota: Si verificas el proceso anterior, es el mismo que ya habíamos visto en el tema 1.1 de Servidores Web. PHP no cuesta nada, este lenguaje se distribuye en el marco de licencia Open Source, por lo que el código fuente es abierto y cualquiera puede consultarlo. PHP como lenguaje no cuesta nada, pero si deseamos que nuestras paginas contengan PHP, se necesitara un proveedor de alojamiento que ofrezca soporte para PHP, o bien contar personalmente con un servidor Web funcionando en Internet.
42
Embed
3.1 Formato del código PHP. · HTML que da un formato de página. Habitualmente encontraremos código PHP insertado en cualquier parte del documento HTML y aparecerá tantas veces
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
3.1 Formato del código PHP.
Introducción a PHP.
En el año de 1994 el canadiense-danés Rasmus Lerdorf creo una serie de “comandos del servidor”
creando las “Personal Home Page Tools”, añadiendo posteriormente un interpretador de formularios “FI”.
En 1995, Rasmus Lerdford presento la primera versión de PHP al publico a través de un mensaje en el
grupo de noticias comp.infosystems.www.auhoring.cgi, publicando bajo la licencia libre GNU. Dichos
comandos estaban escritos en C, de ahí que su sintaxis es muy similar a este lenguaje.
La comunidad de desarrolladores se empezó a interesar por PHP/FI y en poco tiempo se convirtió en un
elaborado trabajo en equipo, siendo la ultima versión disponible la 5.
Actualmente PHP se utiliza como acrónimo de “Hipertext Preprocessor”, es decir, como preprocesador de
páginas Web.
PHP es un lenguaje de secuencias de comandos (scripts), que se integran directamente en las paginas
HTML y son interpretadas por el servidor. El proceso es el siguiente:
El navegador envía una solicitud http al servidor Web (se llama a una pagina que redesea
visualizar).
El servidor reacciona, lee la pagina PHP, ejecuta los comando que esta contiene y envía el
documento traducido en formato HTML.
Ya que PHP se ejecuta en el lado del servidor, el usuario nunca llega a ver el código PHP, sino
que se limita a recibir el formato final en formato HTML.
Nota:
Si verificas el proceso anterior, es el mismo que ya habíamos visto en el tema 1.1 de Servidores Web.
PHP no cuesta nada, este lenguaje se distribuye en el marco de licencia Open Source, por lo que el código
fuente es abierto y cualquiera puede consultarlo.
PHP como lenguaje no cuesta nada, pero si deseamos que nuestras paginas contengan PHP, se
necesitara un proveedor de alojamiento que ofrezca soporte para PHP, o bien contar personalmente con un
servidor Web funcionando en Internet.
Fundamentos del lenguaje PHP
La sintaxis de PHP es muy parecida a la de otros lenguajes de programación muy extendidos
como son los lenguajes C, JAVA, Perl o, incluso, el lenguaje de scirpt javascript. Por tanto, todos aquellos
que estén familiarizados con estos lenguajes encontraran una gran facilidad a la hora de seguir la escritura
sintética de las instrucciones y sentencias que presenta el lenguaje PHP.
El vocabulario de PHP, relativamente pequeño, es fácil de comprender y nos da un amplio numero
de posibilades, antes no disponibles. Además, PHP nos proporciona un conjunto de herramientas
compactas propias que realizan las interacciones entre los usuarios y las paginas HTML, permitiéndonos
dar servicio a las peticiones más habituales de una forma sencilla.
Estructura de un documento PHP.
PHP esta relacionado con el lenguaje de hipertexto HTML; tanto es así, que el código PHP aparece
normalmente insertado dentro de un documento HTML. El documento PHP, una vez interpretado
correctamente en el servidor genera una página HTML que seria enviada al cliente.
Para diferenciar ambos lenguajes dentro del mismo documento, se utilizan etiquetas de comienzo y final del
código PHP. Las etiquetas mas habituales para delimitar los bloques de código PHP son los siguientes:
<?php
Instrucciones PHP
?>
Otra forma es introducir el código PHP dentro del documento HTML haciendo uso de la etiqueta <script>;
para ello además, se debe indicar el lenguaje a utilizar
<script language=”php”>
Instrucciones PHP
</Script>
Extensión de archivos.
La extensión de los archivos que se utilizan en PHP es muy importante, ya que, dependiendo de
dicha extensión, el servidor Web utilizado decide si el documento solicitado debe ser procesado por el
intérprete de PHP o no. Además, las extensiones que indican al servidor http que el fichero contiene
códigos PHP son los siguientes:
.php3 Código PHP 3.x
.php4 Código PHP 4.x
.php Indica código PHP (esta extensión será la que utilicemos a la hora de guardar
nuestros programas PHP)
.phps utilizada para ver la sintaxis del código resultado en colores
.phtml extensión en desuso
En general PHP 3.0 es compatible con PHP 4.0, por lo que tiene mucha importancia el poner una extensión
u otra, ya que el interprete las procesa casi de igual forma.
Ahora vamos a realizar nuestra primera pagina PHP y comprobar el correcto funcionamiento del interprete.
Para ello editaremos y guardaremos el siguiente código en un archivo llamado Ejemplo1.php
Ejemplo 1. Primer Ejemplo.
<html>
<head>
<title>Ejemplo 1 </title>
</head>
<body>
<?php
echo "Hola, Mi primer Ejemplo en PHP";
?>
</body>
</html>
La instrucción echo, permite mostrar un texto en el navegador Web, el texto puede ir encerrado entre
comilla simple o doble.
Pasos para ejecutar el archivo anterior:
1. Cuando instalaste el servidor Web Apache se creo una carpeta en el disco duro llamada Apps y
dentro de ella otra llamada WWW. Es recomendable crear una carpeta dentro de la carpeta
WWW, para que almacenes ahí tus archivos.
2. Capturar el archivo en cualquier editor de texto, puede ser el PHPEdit o el Bloc de Notas. El
PHPEdit lo puedes descargar de la siguiente pagina WWW. Y los pasos de instalación se explican
mas detallados en la bibliografía de este modulo.
3. Para ejecutar tu archivo inicias el navegador Web y capturas la siguiente dirección:
http://localhost/nombre_directorio/Ejemplo1.php
localhost corresponde al servidor local instalado en tu computadora.
Nombre_directorio corresponde al nombre de la carpeta que creaste en el paso 1.
Ejemplo1.php corresponde al nombre del archivo que hayas guardado el código.
Cuando solicitamos una pagina .php, el servidor invocara al interprete PHP y este comenzara a “traducir” el
documento seleccionado, es decir leerá el documento, devolviendo al servidor el texto que se encuentre tal
y como esta, exceptuando a aquel que se encuentre entre las etiquetas <?php y ?>, que lo analizara y
ejecutara por ser código PHP. Si alguna de las instrucciones PHP genera texto, el intérprete lo entregara al
servidor Web para que este lo envié al cliente.
La ventana que te visualiza en el navegador es la siguiente:
Si tu ves el código que te envía el servidor Web observaras que lo que corresponde a PHP no lo muestra y
solo código HTML. Para visualizar el código elige Menú Ver, la opción Código Fuente.
Como se pude observar en el ejemplo anterior, el código PHP se halla inmerso dentro de un documento
HTML que da un formato de página. Habitualmente encontraremos código PHP insertado en cualquier
parte del documento HTML y aparecerá tantas veces como sea necesario. Cada uno de los bloques de
código PHP, al ser procesado, genera una salida en el documento HTML resultado, justo en la posición en
que dicho bloque esta.
También se puede añadir código HTML, dentro del mismo código php, si se desea dar formato a la
información mostrada, como se muestra en el ejemplo 2.
Ejemplo 2. Formato dentro de las etiquetas PHP.
<html>
<head>
<title>Ejemplo 2 </title>
</head>
<body>
<?php
echo " <B> <CENTER> <FONT SIZE =4>Hola, Mi segundo Ejemplo
en PHP </B> </CENTER> </FONT> ";
?>
</body>
</html>
Inclusive todo el código HTML, puede estar dentro de las etiquetas php. El código PHP también puede
formar parte de un documento que no contenga ninguna etiqueta HTML.
Ejemplo 2 Modificado. Formato dentro de las etiquetas PHP.
<?php
echo "<html>”;
echo "<head>”;
echo "<title>Ejemplo 2 </title>”;
echo "</head>”;
echo "<body>”;
echo " <B> <CENTER> <FONT SIZE =4>Hola, Mi segundo Ejemplo
en PHP </B> </CENTER> </FONT> ";
echo "</body>”;
echo "</html>”;
?>
Comentarios en PHP
Para introducir comentarios dentro del código, PHP ofrece la posibilidad de hacerlo de tres formas
distintas que también son utilizadas en otros lenguajes. Las siguientes porciones de código nos muestran la
utilización de estos diferentes tipos de comentarios:
<?php
// comentario inicial
echo “primer tipo de comentarios”; // comentario tipo c, C++
# comentario final tipo shell de unix
?>
En este primer tipo de comentario solo se puede utilizar para comentar una única línea de código. Se
puede usar el doble carácter “//” (utilizados en los lenguajes C, C++, JAVA , JAVASCRIPT, ETC) o del
carácter almohadilla “#” (Perl, Shell).
<?php
/* comentario inicial */
echo “primer tipo de comentarios”; // comentario tipo c, c++ */
/*
Comentario
Final
*/
?>
Este segundo tipo de comentario es de tipo multi línea, es decir, nos permite comentar varias líneas de
código fuente. Por lo tanto, podemos extender nuestros comentarios a más de una línea de código, si bien,
como se puede ver en el ejemplo, también se puede utilizar comentarios de una sola línea.
Hay que tener cuidado con los comentarios de tipo multilínea, ya que no pueden anidarse, es decir, no se
pueden poner comentarios dentro de otros comentarios. También es importante tener en cuenta que este
tipo de comentarios siempre tienen que cerrarse con la secuencia de caracteres “*/”.
Dentro del código PHP se podrá usar indistintamente cualquier tipo de los tres para introducir comentarios.
No obstante, no es recomendable mezclar distintos tipos de comentario en un mismo archivo, sino elegir
una sintaxis de las anteriormente citadas y utilizarla en todo el documento.
El siguiente código nos muestra la utilización de los diversos tipos de comentarios dentro de un documento
PHP:
Ejemplo 3. Uso de comentarios.
<HTML>
<HEAD>
<TITLE>Prueba de comentarios</TITLE>
</HEAD>
<BODY>
<CENTER>
<H2>
<?php
// comentario inicial
echo "primer tipo de comentarios"; // comentario tipo c, c ++ */
// comentario final
?>
<BR>
<?php
/* comentario inicial */
echo "segundo tipo de comentarios"; /* comentario tipo c, c ++ */
/*
comentario
final
*/
?>
<BR>
<?php
# Comentario inicial
echo "tercer tipo de comentarios"; # comentario tipo shell
# comentario final
?>
</H2>
</CENTER>
</BODY>
</HTML>
Como podemos observar en la siguiente figura, solo se muestra la información impresa por la función echo
y no el resto de comentarios incluidos en el código.
Fin de línea
PHP ignora cualquier carácter de espacio presente en el código, incluyendo espacios en blanco,
tabuladores y saltos de línea, excepto si se encuentra dentro de una cadena de texto.
El fin de sentencia se marca en todas las instrucciones con el carácter de punto y coma “;”, o bien,
aprovechando la etiqueta de cierre, “?>”, puesto que se asume que el final de la inclusión de código limita
la introducción de nuevas instrucciones. Por tanto los siguientes códigos son correctos:
<?php
echo “finalizando la etiqueta de cierre”
?>
<?php
echo “finalizando con punto y coma”;
?>
3.2 Tipos de datos.
PHP soporta tres tipos de datos simples: integer, float y string; y dos tipos de datos compuestos: array y
object. Además, hace uso de tipo lógico boolean, aunque no aparece definido como tal en la sintaxis del
lenguaje.
El número de punto-flotante, también conocido como “double”. En este tema solo se van analizar los tipos
simples, el tipo bolean. Los tipos compuestos se vean mas adelante.
Datos Enteros.
Un entero (integer) es un número del conjunto Z = {..., -2, -1, 0, 1, 2, ...}.
Las variables de tipo integer, pueden contener números enteros que varían entre un rango de -2 billones y
+2 billones (lo que es un valor de 32 bits con signo) y se pueden especificar usando diferentes sintaxis.
Sintaxis
Los enteros pueden ser especificados en notación decimal (base-10), hexadecimal (base-16) u octal (base-
8), opcionalmente precedidos por un signo (- o +).
Si usa la notación octal, debe preceder el número con un 0 (cero) y pueden incluir cualquier secuencia de
dígitos entre el 0 y el 7., para usar la notación hexadecimal, preceda el número con 0x, seguidos de
números de 0 al 9 y letras de la A a la F(a hasta f).
Algunos ejemplos son:
Formato Valores
Decimal -33
2139
Octal 071
03664
Hexadecimal 0x7b8
0x395
Ejemplo 4. Literales tipo entero
<?php
$a = 1234; // numero decimal
$a = -123; // un numero negativo
$a = 0123; // numero octal (equivalente al 83 decimal)
$a = 0x1A; // numero hexadecimal (equivalente al 26 decimal)
?>
El siguiente código muestra la asignación de los valores de tipo entero a una variable en los diferentes
formatos numéricos que PHP puede manejar para este tipo de datos:
Ejemplo 5. Visualización de diferentes asignaciones de enteros.
echo "Software de programAcion dinamica = <B> $SERVER_SOFTWARE</B></BR>";
echo "Puerto de comunicacion = <B> $REMOTE_PORT</B></BR>";
echo "IP del cliente = <B> $REMOTE_ADDR</B></BR>";
echo "Directorio de trabajo = <B> $DOCUMENT_ROOT</B></BR>";
?>
</BODY>
</HTML>
Constantes.
Una constante es un identificador para expresar un valor simple. Como el nombre sugiere, este valor no
puede variar durante la ejecución del script. Una constante es sensible a mayúsculas por defecto. Por
convención, los identificadores de constantes suelen declararse en mayúsculas
El nombre de una constante sigue las mismas reglas que cualquier etiqueta en PHP. Un nombre de
constante válido empieza con una letra o un carácter de subrayado, seguido por cualquier número de
letras, números, o subrayados
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 de tipo: boolean, integer, float y string.
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 $.
Nota: Las constantes y las variables (globales) se encuentran en un espacio de nombres distinto. Esto
implica que por ejemplo TRUE y $TRUE son diferentes.
Si usas una constante todavía no definida, PHP asume que estás refiriéndote al nombre de la constante en
si, se ejecutara un alerta y por lo tanto es recomendable utilizar la función defined(), para comprobar la
existencia de dicha constante.
Estas son las 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; y
Las constantes solo puede albergar valores escalares
<?php
define("CONSTANT", "Hola Mundo.");
echo CONSTANT; // salida Hola Mundo.
echo Constant; // salida constante no esta en uso y muestra la palabra Constant
?>
Constantes predefinidas
PHP ofrece un largo número de constantes predefinidas a cualquier script en ejecución. Muchas de estas
constantes, sin embargo, son creadas por diferentes extensiones, y solo estarán presentes si dichas
extensiones están disponibles, bien por carga dinámica o porque has sido compiladas.
Ejemplo No. 9 Uso de Constantes.
<?php
define("PI", 3.1416);
$radio = 4;
$area = PI * $radio;
echo “El area de un circulo de radio $radio es $area”;
?>
3.4 Operadores y Expresiones.
Expresiones.
Una expresión una operación o instrucción que produce un valor. Puede ser tan simple como un número o
una variable. También puede incluir un conjunto de variables, constantes, operadores y funciones.
Cuando se escribe $a = 5, se esta asignando el valor entero 5 a la variable (en este caso, 5 es una
constante entera).
Después de esta asignación, se espera que el valor de $a sea 5 también, de manera que si se escribe $b =
$a, se espera también que se comporte igual que si escribieses $b = 5. En otras palabras, $a es una
expresión también con el valor 5.
Las expresiones al ser evaluadas generan un valor de un tipo de dato especificado en PHP (integer, float,
boolean, array, object).
Operadores.
Un operador es usado para determinar el valor de un procedimiento o una operación de uno o más valores.
Un valor que es usado en una operación es conocido como operandos.
Los operadores en PHP son similares al lenguaje C.
Operadores Aritméticos.
Como muchos lenguajes de programación PHP utiliza los operadores matemáticos básicos, se muestran
en la siguiente tabla:
Operador Nombre Descripcion Ejemplo Resultado
+ Suma Suma dos operandos $a + $ b (10+3) 13
− Resta Resta dos operandos $a - $ b (10-3) 7
/ Division Divide dos operandos $a / $ b (10/3) 3.3333333333333
* Multiplication Multiplica dos operandos $a * $ b (10*3) 30
% Modulo o Residuo
Resto de la división entera $a % $ b (10%3) 1
PHP ignora los caracteres de espacio. Así que $x = 6 * 2; y $x=6*2; son iguales para PHP. La forma de
utilizar nosotros la planteamos de acuerdo a como sea mas legible para uno.
Operador Unario.
El signo menos (-) es usado con un simple valor numérico, para negar el numero. Por ejemplo:
$a = 2;
$b = - $a; // $b = -2
$c = 4;
$d = - $c; // $d = 4
Operador de Asignación
Para dar valores a las variables se utiliza el operador de asignación =.
La variable de lado izquierdo a el signo = toma el valor de la expresión de el lado derecho del = y así dicho
valor se conserva en memoria.
El operador de asignación toma la forma:
Variable = expresión;
PHP soporta otros operadores de asignación, que realmente son una combinación del operador de
asignación básico con operadores aritméticos y con el operador de concatenación de cadenas. La siguiente
tabla resume los operadores de asignación:
Operador Ejemplo Equivalente a
+= $x += 5 $x = $x + 5
− = $x − = 5 $x = $x − 5
/= $x /= 5 $x = $x / 5
*= $x *= 5 $x = $x * 5
%= $x%=5 $x = $x % 5
.= $x .= "test" $x = $x" test"
Ejemplo No. 10 Aplicacion de operadores de asignacion y aritmeticos.
<HTML>
<BODY>
<H2> Operadores Aritmeticos </H2>
<?php
define ("DOLAR", 11.4);
echo "El valor de la constante dolar es <B> " . DOLAR . "</B> pesos<BR>";
$dinero = 100;
$total = DÓLAR * $dinero;
echo "La convesion de <B>$dinero </B> pesos es <B>$total </B> dolares";
?>
</BODY>
</HTML>
Operadores de comparación
Los operadores de comparación son usados para evaluar una condición. La expresión que utiliza
operadores de comparación siempre al evaluarse retornara un valor Boolean, que puede ser true o false.
Los operadores de comparación son mostrados en la siguiente tabla, suponiendo par $x un valor de 3
Operador Descripción Evalúa verdadero cuando Ejemplo Resultado
== Igual a Operando de la izquierda es igual
al de la derecha
$x == 5
false
< Menor que Operando de la izquierda es menor
al de la derecha
$x < 4
true
> Mayor que Operando de la izquierda es mayor
al de la derecha
$x >= 4
false
<= Menor igual que Operando de la izquierda es menor
o igual al de la derecha
$x <= 4
true
>= Mayor igual que Operando de la izquierda es mayor
o igual al de la derecha
$x >= 4
false
!= Diferente Operando de la izquierda es
diferente al de la derecha
$x != 5
true
<> Diferente Operando de la izquierda es
diferente al de la derecha
$x <> 4
true
Es importante no confundir la operación de asignación = con la operación de comparación ==. La
operación de asignación es usada para asignar el valor a una variable, mientras que el operador de
comparación es usado para evaluar el contenido de una variable.
Por ejemplo, si se escriben las siguientes sentencias.
$i = 4;
if ($i = 7) echo „Siete”;
Lo anterior es perfectamente legal en PHP, no se obtendrá mensajes de error. Sin embargo se le asigna a
la variable $i, el valor de 7, la evaluación del estatuto if es el valor de la variable $i que es 7 con un valor
vacío y por lo tanto el resultado es true.
Operadores Lógicos.
Los operadores lógicos son usados para combinar condiciones, así las múltiples condiciones pueden ser
evaluadas todas como una sola expresión. El operador lógico “and”, retorna true, si las dos condiciones o
más son true. El operador lógico “or”, retorna true, cuando una o más de las condiciones son true.
Finalmente el operador lógico “not” retorna true si el valor de la expresión es false.
La siguiente tabla muestra los operadores lógicos:
Nombre Ejemplo Resultado
Y $a and $b TRUE si tanto $a como $b son TRUE.
O $a or $b TRUE si cualquiera de $a o $b es TRUE.
O exclusivo (Xor) $a xor $b TRUE si $a o $b es TRUE, pero no ambos.
No ! $a TRUE si $a no es TRUE.
Y $a && $b TRUE si tanto $a como $b son TRUE.
O $a || $b TRUE si cualquiera de $a o $b es TRUE.
Nota que existen dos operadores para la operación lógica “Y” y “O”. Estas son similares pero tiene diferente
precedencias.
Los siguientes ejemplos muestran el uso de los operadores lógicos. El resultado es tomado basado en los
siguientes valores: $h = 4; $i = 5; $j = 6;
if ($h == 4 && $i == 5 && $j == 6)
echo “Esto se visualizara”;
En este caso todas las condiciones son verdaderas, así que la función echo es ejecutada.
if ($h == 3 or $i == 5)
echo “Esto se visualizara”;
Aquí la primera condición ($h == 3) se evalúa a false, y la segunda ($i == 5) da true. Ya que solamente una
de las condiciones tienen que ser verdadero en al operador lógico “or”, el resultado es verdadero y se
ejecuta la función echo.
Ejemplo 11. Uso de Operadores de comparación y logicos.
<HTML>
<BODY>
<H2> Operadores Relacionales y Logicos </H2>
<?php
define ("A", 3);
define ("B", 8);
define ("C", 5);
echo "Los 3 numeros a comparar son <B> " . A . ", “ . B . “ y “ . C . “</B> <BR> y el mayor es:";
echo (A>B) && (A>C)?A:” “;
echo (B>A) && (B>C)?B:” “;
echo (C>B) && (C>B)?C:” “;
?>
</BODY>
</HTML>
Operadores de Cadena.
El operador de concatenación de cadenas representado por un punto (“.”), devuelve como resultado la
concatenación de sus operandos izquierdos y derechos. El resultado es la conacatenacion de dos o mas
valores tipo cadena en un solo valor.
$nombre = “Patricia”;
$apellido = "Melo”;
$todo = $nombre . “ “ . $apellido; //nombre un espacio y apellido
echo $todo;
PHP interpola variable tipo string en literales de string con doble comilla. Las siguientes líneas de código
imprimen Melo Patricia, considerando los valores para as variables $nombre = “Patricia”; $apellido = “Melo”;
echo $apellido . “ “ . $nombre;
echo “$apellido $nombre”;
La segunda línea es mas eficiente, pero ambos tipos producen resultados similares.
Operadores de Incremento y Decremento.
PHP soporta operadores específicos para incrementar y decrementar el valor de las variables. En el
momento de la ejecución dependerá de la posición en la que aparezcan respecto de la variable a la que
son aplicados.
Ejemplo Nombre Efecto
++$a Pre-incremento Incrementa $a en uno, y luego devuelve $a.
$a++ Post-incremento Devuelve $a, y luego incrementa $a en uno.
--$a Pre-decremento Decrementa $a en uno, luego devuelve $a.
$a-- Post-decremento Devuelve $a, luego decrementa $a en uno.
Ejemplo 12. Uo de Operadores de Incremento y Decremento.
<?php
echo "<h3>Postincremento</h3>";
$a = 5;
echo "Debe ser 5: " . $a++ . "<br />\n";
echo "Debe ser 6: " . $a . "<br />\n";
echo "<h3>Preincremento</h3>";
$a = 5;
echo "Debe ser 6: " . ++$a . "<br />\n";
echo "Debe ser 6: " . $a . "<br />\n";
echo "<h3>Postdecremento</h3>";
$a = 5;
echo "Debe ser 5: " . $a-- . "<br />\n";
echo "Debe ser 4: " . $a . "<br />\n";
echo "<h3>Predecremento</h3>";
$a = 5;
echo "Debe ser 4: " . --$a . "<br />\n";
echo "Debe ser 4: " . $a . "<br />\n";
?>
El resultado se muestra en la siguiente figura
Precedencia de operadores.
Cuando una expresión esta formada por más de un operador del mismo tipo, PHP la evalúa de izquierda a
derecha, pero cuando se encuentran operadores de diferente tipo, PHP las evalúa basadas en la
precedencia definida para cada operador.
Siempre se puede alterar la precedencia encerrando los valores entre paréntesis. La siguiente tabla
muestra la precedencia de los operadores.
Por ejemplo, en la expresión 1 + 5 * 3, la respuesta es 16 y no 18, ya que el operador de multiplicación ("*")
tiene una mayor precedencia que el operador de adición ("+"). Los paréntesis pueden ser usados para
marcar la precedencia, si resulta necesario. Por ejemplo: (1 + 5) * 3 evalúa a 18. Si la precedencia de los
operadores es la misma, se utiliza una asociación de izquierda a derecha.
La siguiente tabla lista la precedencia de los operadores, con aquellos de mayor precedencia listados al
comienzo de la tabla. Los operadores en la misma línea tienen la misma precedencia, en cuyo caso su
asociatividad decide el orden para evaluarlos.
Asociatividad Operadores Operaciones
No aplica ( ) Establece precedencia
no-asociativos ++ -- Incremento, decremento
no-asociativos ! - Negacion, Operador unario
izquierda * / % Multiplicación, división,
modulo
izquierda + - . Suma, resta, concatenación
no-asociativos < <= > >= Menor, Menor igual, Mayor,
Mayor igual
no-asociativos == != Igual, Diferente
izquierda && Lógico Y
izquierda || Lógico O
derecha = += -= *= /= .= %= Asignación
izquierda and Lógico Y
izquierda xor Lógico Xor
izquierda or Lógico O
La asociatividad de izquierda quiere decir que la expresión es evaluada desde la izquierda a la derecha, la
asociatividad de derecha quiere decir lo contrario.
Ejemplo . Asociatividad
<?php
$a = 3 * 3 % 5; // (3 * 3) % 5 = 4
$a = 1;
$b = 2;
$a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5
?>
Use paréntesis para incrementar la legibilidad del código.
3.5 Instrucciones condicionales.
Sentencia Condicional IF
Es una de las mas utilizadas e importantes en la mayoría de los lenguajes de programación. Su sintaxis es
la siguiente:
If (condición) {
[Sentencias]
}
El interprete de PHP lo que hace es evaluar la condición, que debe ser una expresión lógica y, si resulta
verdadera, se ejecutaran las sentencias comprendidas entre las llaves”{” y “}” y, si es falsa PHP ignora las
sentencias y seguirá con la ejecución normal del programa. Es decir, nos permite tomar decisiones en torno
a una condición.
NOTA: Es recomendable siempre poner llaves “{”y”}”, dentro del cuerpo de la sentencia if, aunque solo
haya una sentencia.
Ejemplo 12: Ejecuta un bloque de código solamente si la variable contiene la cadena “Feliz”
<html>
<head>
<title>Ejemplo 12</title>
</head>
<body>
<?php
$animo = "feliz";
if ( $animo == "feliz" )
{
echo “Hoy, yo tendré un Buen día”;
}
?>
</body>
</html>
El resultado del ejemplo anterior sera la visualizacion del mensaje ya que la condicion es verdadera.
IF ELSE
A menudo nos interesa ejecutar un código distinto si la evaluación de la condición que acompaña a la
instrucción if no es verdadera. Se utiliza entonces la sentencia if…else; esta consta de un bloque if que se
ejecutan cuando la expresión se evalúa a true y de un bloque else cuyas instrucciones se ejecutan cuando
se evalúa a false. La sintaxis de la instrucción if...else es el siguiente:
if ( condicion ) { // Sentencias cuando la condición es true } else { // código que se ejecuta en otro caso } Ejemplo 13: En base al ejemplo anterior muestra un mensaje de acuerdo a la condición.
<html>
<head>
<title>Ejemplo 13</title>
</head>
<body>
<?php
$animo = "triste";
if ( $animo == "feliz" )
{
echo “Hoy, yo tendré un Buen día”;
}
else
{
echo “ No estoy feliz, estoy $animo";
}
?>
</body>
</html>
El mensaje que muestra el ejmplo 13, es el correspondiente a la parte else, atl como se muestra en la
siguiente figura:
If Anidados.
La sentencias if se pueden anidar, es decir, se puede poner dentro de un bloque if otras sentencias if, lo
cual proporciona una flexibilidad completa para ejecuciones condicionales.
Ejemplo 14: Utilizando ifs anidados, se compara 3 números para conocer cual es el mayor de ellos.
<HTML>
<HEAD>
<TITLE>ESTRUCTURA DE CONTROL</TITLE>
</HEAD>
<BODY>
<CENTER>
<H2>Sentencia if</I></H2>
<?php
$a=3;
$b=7;
$c=9;
echo"<BR>los tres números a comparar son: ";
echo"<B>$a,$b</B> y<B> $c</B><BR><BR>";
echo"y el mayor es el <B>";
if($a>$b){
if($a>$c){
echo $a;
}
}
if($b>$a){
if($b>$c){
echo $b;
}
}
if($c>$a){
if($c>$b){
echo $c;
}
}
echo "</B>";
?>
</CENTER>
</BODY>
</HTML>
El resultado del ekemplo anterior es:
Otra forma de implementar los if anidados es: if ( condicion ) { // código a ejecutarse cuando la expresión es true } elseif ( otra condicion ) { // código a ejecutarse si la condición anterior fue false // y la segunda es true else { // código a ejecutarse en otros casos. Todas las condiciones false }
Ejemplo 15: Modificación del ejemplo anterior, indicando con elseif.
<HTML>
<HEAD>
<TITLE>ESTRUCTURA DE CONTROL</TITLE>
</HEAD>
<BODY>
<CENTER>
<H2>sentencia if</I></H2>
<?php
$a=3;
$b=7;
$c=9;
echo "<BR>los tres números a comparar son:";
echo "<B>$a,$b</B> y <B> $c</B><BR><BR>";
echo "y el mayor es el <B>";
if($a>$b && $a>$c){
echo $a;
}
elseif ($b>$a && $b>$a){
echo $b;
}
else
{
echo $c;
}
echo "</B>";
?>
</CENTER>
</BODY>
</HTML>
Sentencia Condicional Multiple.
Este tipo de sentencias, se utiliza para comparar un dato con conjunto posible de valores. La sintaxis es la
siguiente:
switch ( expression ) { case resultado1:
// Ejecuta esto si la expresión toma el resultado1 break; case resultado2: // Ejecuta esto si la expresión toma el resultado2 break; default: // Ejecuta esto si la expresión no es ningún resultado anterior. }
Nota: Pueden existir tantas cláusulas cases posibles como resultados diferentes se tengan.
Ejemplo 16: Aplicación de la sentencias switch para comparar el estado de animo de una persona. <html> <head> <title>Ejemplo 16</title> </head> <body> <?php $animo= "triste"; switch ( $animo ) { case "feliz": echo "Hoy yo estoy feliz"; break; case "triste": echo "Ahh. Me siento muy triste!"; break; default: echo "No estoy ni feliz, ni triste, sino $animo"; } ?> </body> </html>
Existe una sintaxis alternativa de la estructura switch, que sustituye el carácter “{´” por el carácter “:” y el carácter “}” por la palabra endswitch. switch ( expression ): case resultado1: // ejecuta esto si la expresión toma el resultado1 break; case resultado2: // ejecuta esto si la expresión toma el resultado2 break; default: // ejecuta esto si la expresión no es ningún resultado anterior. endswitch; Operador ? Una forma rápida de establecer una condición, es a través del operador de condición “?”, que nos permite
evaluar una condición y realizar la operación si es o no verdadero el resultado. La sintaxis es la siguiente:
( expresion )?operación si la condición es true: operación si la condición es false;
Ejemplo 17: Utilización del operador ? para establecer una condición. <html> <head> <title>Ejemplo </title> </head> <body> <?php $animo = "triste"; $texto = ( $animo=="feliz" )?"Hoy será un buen día":"No estoy feliz porque estoy $animo"; echo "$texto"; ?> </body> </html>
Observa que en el ejemplo anterior, la variable texto, toma el resultado de evaluar la condición. Para este caso mostrara el mensaje No estoy feliz porque estoy triste