View
4
Download
0
Category
Preview:
Citation preview
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.
<HTML>
<HEAD>
<TITLE> Variables enteras</TITLE>
</HEAD>
<BODY
<CENTER>
<H2>formatos de los números enteros</H2>
<TABLE BORDER="1">
<TR ALIGN="right">
<TD BGCOLOR="yellow">decimal positivo</TD>
<TD>
<?php
$num = 502; //numero decimal
echo $num; // mostraremos el valor de $num
?>
</TD>
</TR>
<TR ALIGN="right">
<TD BGCOLOR="YELLOW">decimal negativo</TD>
<TD>
<?php
$num= -502; //numero decimal negativo
echo $num; //mostramos el valor de $num
?>
</TD>
</TR>
<TR ALIGN="right">
<TD BGCOLOR="yellow">decimal octal (0502)</TD>
<TD>
<?php
$num= 0502; //numero octal
echo $num; // mostramos el valor de $num
?>
</TD>
</TR>
<TR ALIGN="right">
<TD BGCOLOR="yellow">decimal hexadecimal (0x12)</TD>
<TD>
<?php
$num=0x12; //numero hexadecimal
echo $num; // mostrar el valor de $num
?>
</TD>
</TR>
</TABLE>
</CENTER>
</BODY>
</HTML>
El resultado en pantalla es:
Tipo de dato flotante
Los números de punto flotante (también conocidos como "flotantes", "dobles" o "números reales") pueden
ser especificados usando cualquiera de las siguientes sintaxis:
<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
?>
El tamaño de un flotante depende de la plataforma, aunque un valor común consiste en un máximo de
~1.8e308 con una precisión de aproximadamente 14 dígitos decimales (lo que es un valor de 64 bits en
formato IEEE).
Tipo de dato Booleanos.
Este es el tipo más simple. Un dato boolean expresa un valor de verdad. Puede ser TRUE o FALSE.
Sintaxis
Para especificar una variable booleano, use alguna de las palabras clave TRUE o FALSE. Ambas son
insensibles a mayúsculas y minúsculas.
<?php
$foo = True; // asignar el valor TRUE a $foo
?>
Datos tipo Cadenas
Un valor string o cadena, es una serie de caracteres. En PHP, un carácter es lo mismo que un byte, es
decir, hay exactamente 256 tipos de caracteres diferentes.
Nota: El que una cadena se haga muy grande no es un problema. PHP no impone límite práctico alguno
sobre el tamaño de las cadenas, así que no hay ninguna razón para preocuparse sobre las cadenas largas.
Sintaxis
Un literal de cadena puede especificarse básicamente en dos formas diferentes: comillas simples y comillas
dobles.
Comillas simples
La forma más simple de especificar una cadena sencilla es rodearla de comillas simples (el carácter '
apostrofo).
Ejemplo:
<?php
$variable1 = 'esta es una cadena simple';
?>
Comillas dobles
Si la cadena se encuentra rodeada de comillas dobles ("), se puede utilizar una serie de secuencias de
escape para caracteres especiales:
<?php
$variable1 = “esta es una cadena doble”;
?>
Tabla. Caracteres de escape o secuencia de escape.
secuencia significado
\n alimentación de línea (LF o 0x0A (10) en ASCII)
\r retorno de carro (CR o 0x0D (13) en ASCII)
\t tabulación horizontal (HT o 0x09 (9) en ASCII)
\\ barra invertida
\$ signo de dólar
\" comilla-doble
\[0-7]{1,3} la secuencia de caracteres que coincide con la expresión regular es un carácter en
notación octal
\x[0-9A-Fa-
f]{1,2}
la secuencia de caracteres que coincide con la expresión regular es un carácter en
notación hexadecimal
Ejemplo 6: Uso de Secuencias de escape.
<?php
$nombre = 'Luz';
echo "Hola Mundo\n";
echo "Hola \"<B>$nombre</B>\", Bienvenido al Curso de DAW";
?>
El resultado es dar un salto de línea después de Hola Mundo y encerrar el valor de la variable $nombre
entre comillas dobles, tal como se muestra en la siguiente figura.
Prueba los siguientes ejemplos de manejo de cadenas y cual es tu conclusión:
Nota:
Dependiendo la version que se tenga de PHP, tal vez no te permita utilizar variables dentro de cadenas con
comilla simple, como se muestra en el siguiente ejemplo:
<?php
$nombre = 'Luz';
echo 'Hola \'<B>$nombre</B>\', Bienvenido al Curso DAW';
?>
El resultado sera: Hola '$nombre', Bienvenido al Curso DAW
3.3 Variables y Constantes.
Variables.
Una variable es el nombre que se le da a una posición de la memoria de la computadora en el cual se
almacena información. Conociendo esta posición de memoria (su dirección), somos capaces de encontrar,
actualizar o recuperar información cuando la necesitamos durante el programa. A través de las variables se
pueden asignar nombres significativos a las posiciones donde se almacena la información y poder hacer
referencia a ellas de una forma más sencilla. La naturaleza de dicha información puede ser de muy
distintos tipos: números enteros, números decimales, caracteres.
Declaración de variables.
En los lenguajes de programación, al definir una variable, es habitual expresar la naturaleza del tipo de
información que se va a guardar. Además, durante todo el programa, cualquier valor asignado a esa
variable se espera que sea del tipo de datos utilizado en su definición, provocando un error cuando se
intenta asignar un tipo de dato diferente.
En el caso de PHP no es necesario declarar las variables antes de su utilización. Las variables se crean en
el instante en que son utilizadas por primera vez; para su inicialización, se utiliza el operador de asignación
(=); a partir de ese instante, podremos recuperar su contenido simplemente reverenciando la variable por
su nombre. Por otra parte, las variables no tienen asociada la naturaleza del tipo de información que
almacenan. De hecho, una variable podrá almacenar durante todo su tiempo de vida diferentes tipos de
informaciones.
Reglas para nombres de variables.
En PHP todos los nombres van procedidos por el símbolo de un dólar, $, seguido al menos por una letra
(de la A a la Z) o un guión bajo (“_”) para, después, continuar por cualquier combinación e letras (en
mayúsculas o minúsculas), de dígitos (del 0 al 9) y de guiones bajos (“_”). La siguiente tabla muestra
algunos ejemplos de identificadores validos e inválidos:
variable Inválidos Motivo
$Valor _ actual $Valor Actual Contiene un Espacio
$NumeroDeDatos $#Datos Contiene el carácter no valido “#”
$N $2saldos Empieza por numero
$n $prueba, valor Contiene carácter no valido (,)
Finalmente, cabe destacar que, como el interprete PHP distingue entre mayúsculas y minúsculas, los
nombres de variables con diferencias en mayúsculas o minúsculas en caracteres iguales componen
nombres de variables distintas; por tanto, los identificadores $N y $n son diferentes, es decir, serian
variables distintas.
Ejemplo No. 7 Aplicación y Uso de Variables.
<HTML>
<BODY>
<?php
$nombre = “Desarrollo de Aplicaciones en Web”; //Variable cadena
$horas = 84; //Variable numerica
$activo = true; //Variable bolean
echo “El curso es: <B> $nombre </B><BR>”;
echo “El total de horas es de: <B> $horas </B><BR>”;
echo “El curso esta actualmente activo: <B> $activo </B><BR>”;
?>
</BODY>
</HTML>
Variables predefinidas.
PHP ofrece una gran cantidad de variables predefinidas a cualquier script que se ejecute en un sistema.
Estas variables guardan información relativa del entorno de ejecución del intérprete y del propio PHP, la
versión y su configuración, entre otras cuestiones.
Esta variables se pueden clasificar, por tanto, en dos grandes grupos: por una parte, las que el entorno, el
servidor Web, le pasa al interprete de PHP y, por otra parte, las que el interprete pone a disposición del
programador. La siguiente tabla muestra algunas de las variables del entorno más utilizadas:
Variable Significado
SERVER_NAME indica el nombre del equipo servidor el que se
ejecuta el script
SERVER_PORT indica el puerto del equipo servidor que usa el
servidor Web para la comunicación
SERVER_SOFTWARE Indica que software esta siendo utilizado en el
equipo servidor
REMOTE_PORT Contiene el e puerto que utiliza el peticionario para
comunicarse con el servidor Web
REMOTE_ADDR Contiene la petición remota desde la que se realiza
la petición
DOCUMENT_ROOT Indica el directorio raíz del documento bajo el que
se ejecuta el script
HTTP_REFERER Contiene la dirección de la pagina (en caso de
haberla) desde la que el navegador salto a la
pagina actual
Ejemplo No. 8 Aplicación y Uso de Variables Predefinidas.
<HTML>
<BODY>
<?php
//Variable bolean
echo "Nombre del Servidor = <B> $SERVER_NAME</B></BR>";
echo "Puerto utilizado = <B> $SERVER_PORT</B></BR>";
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
Recommended