SlideShare una empresa de Scribd logo
1 de 128
Descargar para leer sin conexión
17
TEMA 16. LENGUAJE DE
PROGRAMACIÓN PHP
José M. Castillo Castillo
LENGUAJE DE PROGRAMACIÓN PHP
1
INDICE DE CONTENIDO TEMA 16. LENGUAJE DE PROGRAMACIÓN PHP.
1. COMENZANDO CON PHP
1.1 Historia de PHP
1.2 Significado de PHP
1.3 Características más importantes de PHP
1.4 Trabajos que podemos realizar con PHP
1.5 Cuándo es conveniente utilizar PHP
1.6 ASP o PHP
1.7 Requisitos para trabajar con PHP
2. INSTALACIÓN DESDE CERO
2.1 Opciones de instalación
2.2 Detalles de la instalación paso a paso
2.3 Instalando EASYPHP
2.4 Iniciar y salir de EASYPHP
2.5 Menú opciones
2.6 Uso del directorio WWW
3. SINTAXIS BÁSICA
3.1 Extensiones
3.2 Delimitadores del código
3.3 Espacios en blanco
3.4 Separación de instrucciones
3.5 Comillas
3.6 Fin de línea
3.7 Construcción de bloques
3.8 Líneas de comentarios
3.9 Mayúsculas y minúsculas
3.10 Inclusión de ficheros externos
3.11 Práctica - mi primer texto
3.12 Práctica - include
4. VARIABLES Y CONSTANTES
4.1 Definición de variables
4.2 Verificación de asignación previa
4.3 Variables predefinidas
4.4 ámbito de las variables
4.5 Variables variables
4.6 Definición de una constante
4.7 Constantes predefinidas
4.8 Práctica - variables
4.9 Práctica - constantes
LENGUAJE DE PROGRAMACIÓN PHP
2
5. OPERADORES
5.1 Qué son los operadores
5.2 Operadores de asignación y de concatenación
5.3 Operadores aritméticos
5.4 Operadores de comparación
5.5 Operadores lógicos
5.6 Operadores de incremento-decremento
5.7 Sentencias condicionales
5.8 Práctica - mayor de dos números
5.9 Práctica - carné del polideportivo
5.10 Práctica - valor de variable
5.11 Práctica - ordenar de menor a mayor
6. BUCLES
6.1 Qué es un bucle
6.2 Bucle while
6.3 Bucle do while
6.4 Bucle for
6.5 Bucle foreach
6.6 Break y continue
6.7 Switch
6.8 Práctica - días de la semana
6.9 Práctica - buscando una letra
6.10 Práctica - números divisibles entre 5
6.11 Práctica - valores entre dos enteros
6.12 Práctica - tablas de multiplicar
7. FUNCIONES
7.1 Qué es una función
7.2 Cómo se crea una función
7.3 Cómo se invoca una función
7.4 Funciones para la gestión de archivos
7.5 Funciones para la gestión de directorios
7.6 Retorno de valores
7.7 Práctica - el número mayor
7.8 Práctica - media aritmética
7.9 Práctica - listar directorio
LENGUAJE DE PROGRAMACIÓN PHP
3
8. FORMULARIOS
8.1 Conocimientos previos
8.2 Campos de entrada de datos
8.3 Cuadro de texto
8.4 Cuadro de texto con barras de desplazamiento
8.5 Casillas de verificación
8.6 Botón de opción
8.7 Menú desplegable
8.8 Botón de comando
8.9 Campo oculto
8.10 Práctica - libro de visitas
8.11 Práctica - cuestionario
8.12 Práctica - formulario de solicitud de información
9. BASES DE DATOS MYSQL I
9.1 Introducción a MYSQL - FRONT
9.2 Instalando MYSQL – FRONT
9.3 Empezando con bases de datos
9.4 Creación de una base de datos
9.5 Creación de tablas
9.6 Añadir campos a una tabla
9.7 Modificar campos de una tabla
9.8 Borrar campos de una tabla
9.9 Operaciones con los registros de una tabla
9.10 Editor SQL
9.11 Práctica - realizar una base de datos para clientes
10. BASES DE DATOS MYSQL II
10.1 Página principal
10.2 Conexión con la base de datos
10.3 Introducir registros
10.4 Listado de registros
10.5 Borrado de registros
10.6 Modificación de registros
10.7 Práctica - realizar un libro de visitas
LENGUAJE DE PROGRAMACIÓN PHP
4
1. COMENZANDO CON PHP
Bienvenidos a esta primera lección, donde nos iremos adentrando en el término PHP, en qué
consiste este lenguaje de programación y, en su todavía breve historia. Trataremos algunas de sus
características más destacadas, de los trabajos en los que puede emplear este lenguaje, y le
enumeraremos una serie de funciones aplicables a la actualidad de los entornos Web, las cuales le
harán elegir PHP frente a otros lenguajes con más antigüedad como el ASP.
1.1. Historia de PHP
PHP es un lenguaje creado por una gran comunidad de personas sin ánimo de lucro. Este sistema
fue desarrollado en el año 1994 por Rasmus Lerdorf, se trataba de un CGI escrito en lenguaje C que
permitió la interpretación de un número limitado de comandos. En sus orígenes, el sistema se
denominó Personal Home Page Tools y adquirió un éxito reconocido, puesto que muchas personas
solicitaron a Rasmus el uso de sus programas en páginas propias, demostrando una buena acogida
inicial. Tras la aceptación de este primer CGI escrito, Rasmus Lerdorf diseñó un sistema para procesar
formularios, al que denominó Form Interpreter (FI), dando como resultado de estas dos originarias
herramientas, la primera versión del lenguaje PHP/FI.
NOTA: Un CGI, Common Gateway Interface, es un programa que se ejecuta en el servidor, puede
utilizarse para tratar información, como pasarela de una aplicación, como base de datos o para
generar páginas HTML de forma automática.
A mediados del año 1997, se incluyeron nuevas
funcionalidades como el soporte a nuevos protocolos de
Internet, y también el soporte a un gran número de bases
de datos comerciales. Todas estas mejoras consolidaron
las bases de PHP versión 3. Los continuos progresos, las
nuevas aplicaciones creadas y el valor de las bases de
datos de PHP, convierten a su última versión en la más
competitiva y rápida hasta ahora, dotándola de más
independencia que las anteriores con respecto a los servidores Web.
La programación en PHP, junto con el servidor Web Apache, han sido las dos claves fundamentales
que han cambiado el enfoque de la creación de las últimas aplicaciones Web. PHP es un lenguaje
sencillo y de sintaxis cómoda, y Apache el servidor más utilizado, ya que está basado en un software
de código abierto y que funciona sobre cualquier plataforma. Estas características los han llevado a
ser utilizados por numerosos grupos de adeptos, que lo emplean a diario en todo tipo de entornos
Web alojados desde cualquier parte del mundo.
En Internet, como ejemplos claros de entornos PHP, se pueden encontrar desde las más simples
páginas personales, páginas comerciales con su pequeño proceso de compra-venta incluido, hasta los
complejos sitios Web de las empresas más prestigiosas, que además de tener puntos de ventas
presenciales, se están adaptando a los nuevas tecnologías, ampliando su campo de comercio a través
de las ventas por Internet. Para ello, utilizan los conocidos carros de la compra y los más avanzados
sistemas de seguridad para proteger el pago de sus productos y los datos personales de sus clientes.
Asimismo, están a la orden del día, las populares páginas de descarga de ficheros (música, imágenes,
vídeos, etc.), que se actualizan rápidamente e identifican a cada uno de sus usuarios gracias a las
sesiones en PHP.
LENGUAJE DE PROGRAMACIÓN PHP
5
NOTA: No podemos dejar de mencionar el efecto de Internet en la enseñanza. En los últimos años,
ha habido un proceso de adaptación entre el aprendizaje y la red. Son muchas las entidades
dedicadas a la formación (universidades, centros de enseñanza, colegios, etc.) que han optado por
adecuar sus contenidos a los nuevos sistemas de enseñanza para Internet, utilizando la red como
soporte para distribuir la formación especializada. Han adaptado sus materias a los nuevos medios,
empleando esto como complemento en algunas asignaturas, e incluso, impartiendo estudios
completos desde las cada vez más conocidas plataformas e-learning o de teleformación
(http://www.uned.es, http://www.us.es, http://www.ucm.es, http://www.uoc.es entre otras).
La enseñanza se ha globalizado, existe la posibilidad de llegar a cualquier usuario sin limitaciones
geográficas u horarias. No sólo se compite a nivel nacional como antes, la competencia ha
traspasado todas las fronteras, lo que implica una mejora continua en la calidad de los productos
ofrecidos. Las denominadas plataformas de teleformación son el último avance de los cursos a
distancia; implican una formación personalizada, con un seguimiento continuado, detallado y
progresivo de los movimientos de cada usuario del curso, perfeccionando el proceso de aprendizaje
con contenidos interactivos multimedia (audio, vídeos, simulaciones…) de gran calidad. Hay mayor
flexibilidad y personalización a los estudiantes o a trabajadores que desean ampliar conocimientos.
LENGUAJE DE PROGRAMACIÓN PHP
6
1.2. Significado de PHP
PHP es un lenguaje de programación de estilo clásico, es decir, que utiliza variables, sentencias
condicionales, funciones…
PHP, Hypertext Preprocessor, se define como un lenguaje
interpretado de alto nivel, cuyo código va insertado en las
páginas HTML, permitiendo saltar del modo PHP al código
HTML dentro de las mismas. Este lenguaje es ejecutado del
lado del servidor, lo cual permite acceder a los recursos
que tiene el servidor, enviando rápidamente los resultados
al navegador en forma de página Web.
Al ser PHP un lenguaje que se ejecuta en el servidor, no es necesario que el navegador soporte PHP,
pero sí es condición imprescindible para que las páginas PHP funcionen correctamente y que el
servidor donde están alojadas soporte PHP.
A continuación, le mostraremos un ejemplo de una misma página programada en HTML y su
homóloga en PHP. Verá como el código PHP va dentro del HTML sin alterarlo.
<? echo'
<html>
<head>
<title>Primera página</title>
<body>
<p> Buenas, me llamo Ana Gessa </p>
</body>
</html>
' ?>
Ésta es la misma página en modo PHP.
<html>
<head>
<title>Primera página</title>
<body>
<p> Buenas,
<?
// Ahora pasamos la misma página a modo PHP
$nombre=”Ana”;
$apellido=”Gessa”;
echo “me llamo $nombre $apellido”;
?>
</p>
</body>
</html>
El servidor Web, al soportar PHP, procesará la página de forma secuencial: desde el principio hasta el
fin; buscando secciones PHP dentro de los delimitadores del código. En el caso de que las encuentre,
las compila y ejecuta mostrando un resultado idéntico a la página HTML.
LENGUAJE DE PROGRAMACIÓN PHP
7
Es importante saber que existen dos tipos de lenguajes de programación: del lado servidor y del lado
cliente.
 Del lado servidor: Es un lenguaje reconocido, ejecutado e interpretado en el mismo servidor,
generando un archivo HTML que es enviado al cliente. PHP y ASP, entre otros, pertenecen a
este tipo de lenguaje.
 Del lado cliente: Es aquel lenguaje que puede ser “dirigido” por el navegador y que no
necesita un tratamiento previo. Destacamos: HTML, Java y JavaScript.
NOTA: Ambos tienen sus ventajas e inconvenientes. Mientras que el del lado cliente es totalmente
independiente del servidor, permitiéndole a sus páginas que puedan ser abiertas desde cualquier
sitio; los del lado del servidor son independientes del cliente y como consecuencia de ello son
lenguajes menos rígidos y el tiempo que tardan en generar las páginas Web es menor debido a que
son scripts almacenados por quien los ejecuta.
PHP está basado principalmente en lenguajes como C, C++ y Java con los que comparte toda su
sintaxis y semántica, asimilando también características de lenguajes interpretados como Perl y Bash.
A nivel general, las principales diferencias entre PHP y C son:
 PHP no distingue mayúsculas y minúsculas, salvo en el tratamiento de objetos.
 En PHP no se declaran las variables ni tienen un tipo fijo, sino que las variables pueden
almacenar valores de todo tipo.
Podemos encontrar productos similares de otras grandes empresas, como son: Active Server Pages
(ASP), de Microsoft; ColdFusion, de Allaire; y Java Server Pages (JSP), de Sun.
PHP es uno de los lenguajes del lado del servidor más extendidos en Internet en los últimos años. Ha
tenido muy buena aceptación entre los programadores debido a factores tan determinantes como su
gran parecido con C, su potencial y su simplicidad, entre otros. Está específicamente orientado al
desarrollo de páginas dinámicas conectadas a bases de datos, mostrando así los contenidos de éstas
en las llamadas Interface Web. Un ejemplo claro del uso de PHP con bases de datos son muchas de
las páginas con un proceso de compra on-line.
LENGUAJE DE PROGRAMACIÓN PHP
8
1.3. Características más importantes de PHP
Cabe destacar algunas de las características de PHP, puesto que son las que posicionan a PHP como
uno de los lenguajes de programación más utilizados. Éstas son:
1. Velocidad: Este lenguaje goza de una alta velocidad de ejecución, con lo que evita las
demoras innecesarias en la máquina. Por lo tanto, no necesita muchos recursos del sistema.
2. Estabilidad: Utiliza un sistema propio de administración de recursos y dispone de un
sofisticado método de manejo de variables, consiguiendo así uno de los sistemas más
robustos y estables de los existentes.
3. Seguridad: Está provisto de diferentes niveles de seguridad personalizables desde el archivo
de configuración .ini, que el programador puede variar según sus necesidades.
4. Simplicidad: Debido a su sencillez, es un lenguaje que permite a los programadores generar
código en poco tiempo. Los usuarios habituales de C o C++ pueden utilizar PHP rápidamente.
5. Lenguaje basado en herramientas de software libre: Para programar en PHP, no hay que
pagar licencias de ningún tipo, lo que no limita su distribución e incita a los programadores
expertos a que contribuyan a mejorarlo.
Y por último, cabe acentuar su Conectividad. Es un lenguaje que dispone de una amplia gama de
librerías y agregarle extensiones es muy sencillo. Esto permite que este lenguaje sea utilizado en
áreas muy diversas, como sería la encriptación, gráficos, XML y otras muchas.
Todas estas características, y muchas más que irá identificando a medida que avance en el curso, le
mostrarán una amplia variedad de proyectos realizables con PHP, serán motivos relevantes para que
cuando programe se decante por este lenguaje ante otros a la hora de trabajar.
1.4. Trabajos que podemos realizar con PHP
Con este lenguaje se puede realizar todo aquello que pueda crearse con un script CGI, por ejemplo,
generar páginas con contenidos dinámicos, mandar o recibir cookies, procesar los resultados de los
formularios, funciones de correo electrónico, gestiones con bases de datos, trabajar con archivos,
tratamiento de imágenes…
NOTA: Una cookie es un mecanismo que permite al servidor almacenar en el cliente información
relativa a la transacción o al usuario.
Es importante saber que PHP puede ser utilizado en cualquiera de los principales sistemas operativos
del mercado: Linux, variantes de Unix, Microsoft Windows, Mac OS X y algunos más. Soporta la
mayoría de servidores Web actuales, Apache, Personal Web Server, iPlanet, Caudium, etc. La mayoría
de funciones que hacen de PHP uno de los lenguajes de programación más útiles a la hora de
desarrollar son las siguientes:
 Tiene acceso y soporta muchas bases de datos: Adabas D, d base, Empress, FiloPro, IBM DB2,
INformix, Ingres, Internase, FrontBase, mSQL, MySQL, ODBC, Oracle, PostgreSQL, Solid,
SYbase, Veloces, UNIX dbm.
 Conectividad con otros servicios, usando HTTP, FTP, COM, SNMP, Sockets, LDAP, etc.
 Servicios de correo y noticias: POP, IMAP, SNMP, NNTP y derivados.
 Creación de textos y gráficos: XML, HTML, XHTM, PDF, GD, Flash.
 Funciones matemáticas.
 POSIX: memoria compartida, acceso a ficheros, cronómetros…
 Comercio electrónico: Cybercash, CyberMUT, Verisign Pro y CCVS para programas de pago.
 Formularios.
 Encriptación y compresión: MD5, Gzip, Bzip2…
LENGUAJE DE PROGRAMACIÓN PHP
9
Con PHP podrá realizar todo aquello que se plantee, desde una simple calculadora, hasta un
calendario, así como pequeñas funciones añadidas a su página Web personal, creación de un
auténtico portal de negocios, donde se pueden vender todo tipo de productos con el carrito de la
compra, gestionar de manera segura todos los datos de clientes, sacar las estadísticas de ventas
mensuales…
1.5. Cuándo es conveniente utilizar PHP
Tanto si se desarrolla bajo una plataforma UNIX o Linux, debe elegir
entre Perl y PHP. Este último es considerado por muchos programadores
más simple a la hora de escribir script, haciéndolo más productivo en
proyectos no demasiado grandes. Por supuesto, se pueden utilizar
ambos lenguajes simultáneamente.
Para entornos de Windows, los competidores más conocidos son ASP y
ColdFusion, la elección entre uno de ellos se basa en asuntos más
técnicos. ASP junto a IIS es probablemente más estable que PHP con IIS,
pero está demostrado que PHP bajo Windows NT es más estable que los
otros dos, además de ser más rápido y utilizar menos recursos.
1.6. ASP o PHP
Muchos son los debates abiertos sobre cuál de entre estos dos lenguajes es mejor a la hora de
aplicarlo en trabajos reales. Es un hecho demostrable el imparable ascenso de PHP frente a otros
lenguajes del lado del servidor, y concretamente sobre el ASP “Active Server Pages” de Microsoft.
A continuación se enumeran una serie de ventajas del PHP:
 Uso libre.
 Lenguaje abierto.
 Diseñado para la Web.
 Multiplataforma.
 Multisistema operativo.
 Soporte para varios servidores Web.
 Soporte nativo para casi cualquier base de datos.
 Buena y accesible documentación.
 Perfecta integración de Apache + PHP + MySQL.
 Modulable.
 No depende de un único proveedor de servicios.
 Sencillo de aprender y utilizar.
 Sintaxis clara y bien definida.
 Seguro.
PHP también presenta algunas desventajas:
 Como desventaja ante el ASP, tiene una peor integración con el paquete Office de Microsoft.
 Errores en seguridad, solucionables antes que en otros sistemas.
LENGUAJE DE PROGRAMACIÓN PHP
10
1.7. Requisitos para trabajar con PHP
Si usted tiene limitado el acceso a Internet y programa de manera local, para visualizar las páginas
creadas con PHP necesita instalar un servidor Web como Apache. Necesitará el módulo PHP, que es
el responsable de interpretar el código y mostrarlo en el navegador. Si quiere trabajar con bases de
datos desde PHP, deberá instalar un gestor de base de datos como MySQL. Para crear las páginas en
PHP, con cualquier editor de textos podrá desarrollar y guardar las páginas con extensión .php.
Puede realizar la instalación individualmente, o bien puede instalar un paquete preconfigurado como
EasyPHP o AppServ, entre otros. Estos paquetes preconfigurados instalan simultáneamente un
servidor Apache y el módulo PHP en cualquier sistema operativo, incluido Linux y Windows. Más
adelante, trataremos detalladamente estos programas.
Una vez instalado todo, cree las páginas PHP y alójelas en su directorio Web, y el navegador
interpretará el código sin necesidad de compilar nada, ni de instalar otras herramientas.
Si lo que realmente desea es alojar sus páginas .php en Internet, existen dos posibilidades:
 Alojar las páginas en un servidor gratuito, el cual puede facilitar un espacio limitado, que
llena sus páginas de publicidad variada, y que es posible que no soporte PHP.
 Contratar un paquete de alojamiento Web a un proveedor de servicios de Internet
(www.yahoo.es, www.ya.com, www.terra.es…), que soporte este tipo de páginas. Si
desconoce si el servidor incluye esta posibilidad, consulte con su proveedor. Lo mismo ocurre
si desea trabajar con bases de datos MySQL, PostgreSQL, etc.
Recuerda…
La secuencia correcta para que una página en PHP se ejecute en un servidor es: Navegador, Petición
de página, Servidor de Internet, Página PHP, Procesar PHP y Resultado HTML.
Es posible realizar la instalación completa de un servidor Apache y PHP a partir de un paquete
preconfigurado.
C, C++ y Java son lenguajes que está basado PHP.
Las características más importantes de PHP son: Software libre, conectividad, velocidad, estabilidad,
seguridad y simplicidad.
Podemos decir que PHP es un:
- Lenguaje abierto, el código fuente está disponible y soporta varios servidores Web.
- Multisistema operativo, seguro y de uso libre.
- Es sencillo de aprender, seguro y multiplataforma.
PHP es un lenguaje reconocido, ejecutado e interpretado en el servidor, y por lo tanto, pertenece del
lado del servidor.
Para trabajar con PHP se necesita un servidor Web, el módulo PHP y un gestor de bases de datos.
Del lado del servidor, significa que es un lenguaje ejecutado e interpretado en el servidor, generando
archivos .htm que envía al cliente.
La desventaja de PHP frente a ASP es que tiene una peor integración con el paquete Office de
Microsoft.
PHP está basado en herramientas de software libre que significa que no es necesario pagar licencias
de ningún tipo para programar.
LENGUAJE DE PROGRAMACIÓN PHP
11
2. INSTALACIÓN DESDE CERO
Antes de comenzar a explicar el proceso de instalación en esta lección, es imprescindible conocer la
definición de servidor, los requisitos que tiene que cumplir un PC para que funcione como tal y
conocer cómo se puede acceder a él y a sus recursos.
Un servidor es un PC que proporciona servicios a otros ordenadores. Un PC posee la condición de
servidor Web si está conectado a Internet o a una red de área local (Intranet), y a su vez, está dotado
de un software específico denominado software de servidor HTTP, que posibilita el acceso desde los
PC clientes a los recursos que contiene, ya sean archivos o dispositivos.
2.1. Opciones de instalación
Para usuarios más experimentados en la materia, es posible que deseen realizar la instalación paso a
paso, es decir, instalar el servidor Apache y el módulo PHP individualmente, y adecuando los ficheros
de configuración según sus necesidades.
Nosotros trataremos esta opción por encima, comentando algunos de sus pormenores. Nos
centraremos más en la instalación de un paquete integrado, como EasyPHP, que reúne todo lo
necesario para realizar aplicaciones en PHP con acceso a bases de datos MySQL, sin necesidad de
saber nada de la configuración del servidor Apache o del módulo PHP.
2.2. Detalles de la instalación paso a paso
Los requisitos mínimos para comenzar a trabajar con PHP son:
 Un servidor Apache, que será el que gestione el acceso a las páginas.
 El módulo PHP, que es el conjunto de archivos necesarios para interpretar correctamente
las páginas con extensión .php.
 Y si va a trabajar con bases de datos para crear páginas dinámicas, es conveniente instalar
también MySQL, que se encargará de las bases de datos compatibles con PHP.
Otras utilidades que pueden servir al programador dependiendo de sus necesidades, son: si el
usuario quiere gestionar las bases de datos directamente sin necesidad de utilizar el código PHP,
deberá instalar un gestor de bases de datos para crear, modificar y borrar las tablas y los datos con
los que trabaje, como phpMyAdmin; algún editor de PHP, como DevPHP y, también es de gran
utilidad, algún manual de PHP y MySQL.
2.3. Instalando EasyPHP
EasyPHP es un completo paquete de software que permite utilizar en su totalidad el lenguaje PHP y
un efectivo uso de las bases de datos. Este paquete incluye la instalación del servidor Apache, del
gestor de bases de datos MySQL, una perfecta ejecución del código PHP, así como herramientas de
desarrollo para un sitio Web y sus aplicaciones.
Proceso de instalación de EasyPHP
Para empezar, descargue EasyPHP de su página oficial http://www.easyphp.org.
Una vez descargado el fichero easyphp1-7_setup.exe, haga doble clic encima del icono de dicho
archivo.
LENGUAJE DE PROGRAMACIÓN PHP
12
A continuación, aparecerá un cuadro de diálogo que le preguntará si desea continuar el proceso de
instalación; confirme que desea seguir el proceso.
Aparecerá un cuadro de diálogo de bienvenida al programa. Haga clic en el botón Next.
Marque la opción I accept the agreement, y siga con el proceso a través del botón Next. Si no acepta
las condiciones, el programa no le permitirá proseguir con la instalación.
LENGUAJE DE PROGRAMACIÓN PHP
13
Emergerá la primera pantalla de información, pulse el botón Next y continúe el proceso de
instalación.
A continuación, se muestra la opción para ubicar la carpeta EasyPHP1-7, que es una carpeta del
programa creada por defecto, y es donde se situarán todos los archivos del software. Fíjese en la
parte inferior de la pantalla, donde se indica el espacio en disco que requiere EasyPHP para que
pueda ser instalado en su PC.
Por defecto, el programa crea la carpeta en Archivos de programa, déjela tal cual. Continúe con el
proceso pulsando en el botón Next.
LENGUAJE DE PROGRAMACIÓN PHP
14
Aparecerá un cuadro de diálogo informándole de que el directorio C:Archivos de
programaEasyPHP1-7 no existe, y le preguntará si desea crearlo. Presione el botón Sí para poder
seguir.
En la siguiente pantalla, deje la opción que trae por defecto y prosiga con el proceso.
Presione el botón Install para dar lugar a que la instalación se complete definitivamente.
LENGUAJE DE PROGRAMACIÓN PHP
15
Aparecerá la segunda pantalla de información, haga clic en Next.
Para finalizar con la instalación de EasyPHP; desactive, si lo desea, la opción ouvrir la page d'accueil y
presione el botón Finish.
LENGUAJE DE PROGRAMACIÓN PHP
16
2.4. Iniciar y salir de EasyPHP
Para comenzar a trabajar con la aplicación, en primer lugar, es necesario saber cómo acceder a ella, y
luego, qué pasos se deben seguir para cerrar el programa.
Ejecutar la aplicación
Existen varias posibilidades para ejecutar EasyPHP las cuales detallaremos a continuación:
1. Acceda a través del menú Inicio, y siga la ruta: Inicio/Programas/EasyPHP 1.7/EasyPHP.
2. Sabrá que la aplicación se ha ejecutado correctamente si en el Área de notificación de la
Barra de tareas aparece el icono de EasyPHP con el punto rojo parpadeando.
3. De igual forma, podrá acceder a la aplicación a través de la ruta: C:Archivos de
programaEasyPHP1-7 haciendo clic en easyphp.exe.
LENGUAJE DE PROGRAMACIÓN PHP
17
Modificar el idioma que trae por defecto
Lo normal es que la instalación de EasyPHP sea en otro idioma diferente del castellano, convertir la
opción idioma del programa a éste es muy sencillo. Haga doble clic con el ratón encima del icono del
programa; aparecerá en pantalla un cuadro de diálogo con toda la información de EasyPHP. En el
menú emergente, elija la opción Spanish, y automáticamente todas las opciones aparecerán en
español.
Si deja la configuración que trae por defecto, EasyPHP se ejecutará siempre siguiendo los pasos
anteriormente descritos.
Salir de la aplicación
Para abandonar el programa, haga clic con el botón derecho del ratón encima del icono de PHP, y
presione la opción Salir. Automáticamente, se cerrará la aplicación.
LENGUAJE DE PROGRAMACIÓN PHP
18
2.5. Menú Opciones
En este apartado, enumeraremos y definiremos las diferentes opciones que podemos encontrar
dentro de la aplicación. Para acceder a ellas, deberá acceder clic con el botón secundario de su ratón
encima del icono de EasyPHP. En el menú contextual que aparece, encontramos las siguientes
opciones:
Ayuda
Al pulsar esta opción aparece un submenú con cuatro opciones.
 Introducción: Es una guía on-line, que un usuario sin conocimientos previos puede utilizar
para comenzar con EasyPHP: instalación, ejecución, etc.
 Iniciarse en PHP: Este botón lleva a la página oficial de PHP (http://www.php.net).
 FAQ: Nos lleva dentro de la página oficial de EasyPHP al apartado de Preguntas Frecuentes
Respondidas.
 Acerca de EasyPHP: Al hacer clic encima, surge un menú emergente en el que podemos ver
datos técnicos del programa: licencia, versión…
Ficheros Log
Desde aquí tiene acceso a los errores generados por Apache, MySQL y EasyPHP.
LENGUAJE DE PROGRAMACIÓN PHP
19
Configuración
A través de esta opción, accederá a las diferentes herramientas de configuración de cada programa.
Explorar
Esta opción abre el directorio: C:Archivos de programaEasyPHP1-7www.
LENGUAJE DE PROGRAMACIÓN PHP
20
Administración
Esta página permite, entre otras posibilidades, gestionar la base de datos y administrar los alias.
Web Local
Visualiza los directorios que hay en la raíz del servidor.
Reiniciar
Esta opción permite reiniciar Apache y MySQL.
LENGUAJE DE PROGRAMACIÓN PHP
21
Detener/Iniciar
Esta opción le da la posibilidad de detener Apache y MySQL. Pero si ha detenido la aplicación con
anterioridad y quiere reiniciarla, apareceré la opción Iniciar en lugar de Detener.
Salir
Cierra las aplicaciones.
2.6. Uso del directorio WWW
Para que las páginas creadas sean interpretadas correctamente en su navegador, es obligatorio que
estén guardadas dentro del directorio C:Archivos de programaEasyPHP1-7www.
Una vez iniciado EasyPHP, el servidor Apache está configurado por defecto, para que la página que
primero abra en el navegador sea el archivo index.htm, index.html o index.php según la
configuración que tenga por defecto. Este archivo se encuentra dentro del directorio www. Cuando
abra el navegador, escriba en la Barra de direcciones http://localhost/, y, si no tocamos la
configuración por defecto, se abrirá automáticamente el fichero index que tengamos predefinido.
Si desea abrir cualquier otro fichero, escriba en la Barra de direcciones
http://localhost/nombre_archivo.
LENGUAJE DE PROGRAMACIÓN PHP
22
Recuerda…
Un servidor es un PC dedicado a gestionar el uso de la red por otros PC o clientes.
Para cambiar el idioma que trae por defecto la aplicación EasyPHP haremos doble clic encima del
icono de EasyPHP situado en la parte inferior derecha, y seleccionando en el menú desplegable la
opción Spanish.
En el menú Administración de EasyPHP permite, entre otras, gestionar la base de datos y
administrar los alias.
Desde el menú Ficheros Log de EasyPHP se tiene acceso a los errores generados por Apache, MySQL
y EasyPHP.
EasyPHP es un paquete de software que permite utilizar en su totalidad el lenguaje PHP y un efectivo
uso de las bases de datos.
De una opción se dispone para cerrar EasyPHP.
La opción Explorar del menú de EasyPHP abre el directorio C:Archivos de programaEasyPHP1-7www.
LENGUAJE DE PROGRAMACIÓN PHP
23
3. SINTAXIS BÁSICA
A lo largo de esta lección, nos introduciremos en la sintaxis básica para comenzar a programar en
PHP. Es importante familiarizarse con estas nociones iniciales, puesto que son la base de este
lenguaje.
Tenga en cuenta que PHP es un lenguaje bastante flexible, en vez de forzar a una disciplina al
programador, este lenguaje permite mucha libertad a la hora de trabajar, simplemente siguiendo un
mínimo de reglas, para evitar posibles errores, conseguirá programar rápida y fácilmente.
3.1. Extensiones
Las extensiones de los ficheros en PHP son muy importantes, ya que el servidor HTTP las identifica y
decide si debe pasarlo al procesador de PHP o no.
Las extensiones que indican que un fichero contiene código en PHP son:
 .php3 - es código PHP 3.x.
 .php4 - es código PHP 4.x.
 .php - es una extensión genérica, y la más utilizada.
 .phtml - en desuso.
3.2. Delimitadores del código
El código PHP se introduce en el código HTML, pero para que el servidor detecte la parte en PHP de
una página, éste tiene que estar delimitado con unas etiquetas especiales que van al principio y al
final del código PHP.
Los métodos más usados son las etiquetas cortas y las de estilo ASP. La primera fórmula solo
funcionará si previamente se han habilitado las etiquetas cortas. Y para que funcione el estilo ASP,
hay que habilitar las etiquetas tipo ASP.
Las etiquetas canónicas son las más recomendadas, ya que funcionan en la mayoría de los sistemas
sin necesidad de configuración especial.
Existen cuatro opciones para delimitar el código PHP, éstas son:
1. Etiquetas cortas:
<? echo ‘Primer tipo de delimitador en el código PHP'; ?>
2. Etiquetas canónicas:
<?php echo ‘Segundo método, y más utilizado; ?>
3. Etiquetas estilos HTML:
<script language=”php”>
echo ‘Algunos editores solo entienden este delimitador de PHP;
</script>
4. Etiquetas estilos ASP:
<% echo ‘Método compatible con el código ASP'; %>
LENGUAJE DE PROGRAMACIÓN PHP
24
Los métodos más usados son las etiquetas cortas y las de estilo ASP. La primera fórmula solo
funcionará si previamente se han habilitado las etiquetas cortas. Esto se consigue a través de la
función short_tags(), habilitando la opción de configuración short_open_tags en el archivo de
configuración de PHP o compilando PHP con la opción enable-short-tags también en la configuración.
Y para que funcione el estilo ASP, hay que habilitar las etiquetas tipo ASP con la opción de
configuración asp_tags.
EJEMPLO: Un ejemplo práctico del uso del código PHP es:
<html>
<body>
<?php
If ( Hour(time)>20 || Hour(time)<4) {
echo “Buenas noches.”;
} else {
echo “Buenos días.”;
}
?>
</body>
</html>
NOTA: La instrucción echo seguida de una cadena de texto entrecomillada hace que el PHP escriba
en la página Web, mostrada en el navegador, lo contenido en dicha cadena de texto. Dentro de la
cadena de texto que sigue a echo, puede insertar cuantas etiquetas HTML desee.
3.3. Espacios en blanco
PHP, al igual que HTTP, ignora los espacios en blanco, por lo que resulta equivalente escribir:
$valor=5+4;
//Es lo mismo que escribir:
$valor = 5 + 4;
//Y también se puede escribir:
$valor =
5 +
4 ;
3.4. Separación de instrucciones
En PHP se denominan instrucciones a todo aquel lenguaje recogido dentro de los delimitadores de
código. Es necesario el lenguaje C o Pascal. Cada sentencia se considera terminada con un punto y
coma.
La etiqueta de cierre ?> implica el fin del script.
<? echo “Separación de instrucciones” ; ?>
LENGUAJE DE PROGRAMACIÓN PHP
25
3.5. Comillas
No podemos pasar esta lección sin mencionar las comillas, ya que conociendo la manera de actuar
que tienen, evitará la aparición de futuros errores innecesarios.
Existen dos tipos de comillas:
 Comillas simples (‘ '): Son las que muestran el contenido tal y como está escrito dentro de la
cadena. Como consecuencia de ello, las comillas simples son más rápidas, puesto que no
pierden el tiempo interpretado. Si queremos almacenar una comilla doble dentro de una
cadena formada por comillas simples, lo podemos hacer sin ningún problema, ya que será
almacenada como un carácter normal.
$variable = ‘Podemos almacenar el carácter “ dentro de unas comillas simples y no ocurre
nada'
 Comillas dobles (“ ”): Éstas leen dentro de la cadena en busca de variables a interpretar. Los
caracteres que empiezan con la barra invertida () son sustituidos por caracteres especiales y
los nombres de variables que comienzan por “$” son sustituidos por la cadena que
almacenan. Los caracteres especiales más importantes son:
o $: sustituye dicho carácter por $.
o ”: sustituye dicho carácter por “.
EJEMPLO:
<?php
echo ‘Esto es una cadena normal dentro de unas comillas simples. No paro
en leer lo que contengo, simplemente lo muestro.';
echo “A mí me están leyendo sin pasar nada por alto por si tengo algo que
interpretar.”;
?>
NOTA: Como hemos dicho antes, PHP ignora los espacios en blanco. En este caso, sólo respeta, los
que haya en el interior de las comillas, ya sean simples o dobles, puesto que muestra lo que está
escrito tal cual es.
LENGUAJE DE PROGRAMACIÓN PHP
26
3.6. Fin de línea
PHP ignora cualquier carácter de espaciado presente en el código, incluyendo espacios, tabuladores
y saltos de línea, a excepción de si se encuentra dentro de una cadena de texto. En PHP, el fin de una
sentencia se marca con punto y coma (;), al igual que en el lenguaje C o en Pascal.
EJEMPLO: Ejemplo práctico de textos equivalentes:
<?php
echo ‘Estos dos textos se mostrarán
iguales en
el navegador';
echo ‘Estos dos textos se mostrarán iguales en el navegador';
?>
3.7. Construcción de bloques
Aunque en otros lenguajes de programación, como en ASP, no afecta que una misma función o
variable esté escrita en mayúscula o minúscula, ya que siempre será interpretada de la misma
manera. En PHP, un detalle a tener en cuenta es que sí se distingue entre mayúsculas y minúsculas,
puesto que repercute en el resultado final dependiendo del caso:
 En las variables, diferenciar entre mayúsculas y minúsculas es muy importante.
 En los nombres de funciones y en construcciones del lenguaje, PHP no es sensitivo a
diferenciar entre mayúsculas y minúsculas.
Ya sabemos, que las sentencias no pueden ser combinadas, así que debemos poner una sucesión de
sentencias agrupadas todas ellas mediante el uso de llaves {}.
Por ejemplo, si queremos que se ejecuten varias sentencias al mismo tiempo, debemos agruparlas de
la siguiente manera:
if ( 5 == 2 + 3 ) {
print ( “ Correcto, el resultado es 5.<br> ” ) ;
print ( “ Pero no te equivoques. <br> ” ) ;
}
NOTA: Una cosa muy importante es tener en cuenta el sangrado del código, ya que resulta muy útil a
la hora de comprender los programas y quedan mejor estructurados.
LENGUAJE DE PROGRAMACIÓN PHP
27
3.8. Líneas de comentarios
Los comentarios son anotaciones dentro del código PHP que sirven para facilitar la comprensión del
código por parte de los lectores, y no se muestran en pantalla porque el intérprete de PHP lo primero
que hace es quitar todos los comentarios del programa.
Los comentarios en PHP están heredados de lenguajes como “C”, “C++” y shell de Unix. Hay tres
maneras de introducir comentarios en el código.
Para comentarios en una sola línea existen dos posibilidades: colocar // o # al comienzo de la línea.
Para varias líneas de comentario, PHP utiliza:
/* al comienzo de la primera línea.
*/ al final de la última línea.
/* Comentario estilo C. Este comentario es multilínea otra línea más del mismo comentario */
// Comentarios estilo C++. Son solo para una sola línea y es el más utilizado.
# Comentario estilo Bash/Perl. Cubre solo hasta el fin de línea.
NOTA: Los comentarios son muy útiles para recordar anotaciones referentes al código utilizado en el
momento de programar cada página, así en el futuro, será más fácil recordar la finalidad de cada
parte del código de las páginas PHP para posibles modificaciones y futuras actualizaciones.
NOTA: Los comentarios estilo C o multilíneas no pueden anidarse, esto suele ocurrir cuando se
comentan grandes bloques de código. Si los anidáramos por equivocación, PHP dará un error.
3.9. Mayúsculas y minúsculas
Aunque en otros lenguajes de programación, como en ASP, no afecta que una misma función o
variable esté escrita en mayúscula o minúscula, ya que siempre será interpretada de la misma
manera. En PHP, un detalle a tener en cuenta es que sí se distingue entre mayúsculas y minúsculas,
puesto que repercute en el resultado final dependiendo del caso:
- En las variables, diferenciar entre mayúsculas y minúsculas es muy importante.
- En los nombres de funciones y en construcciones del lenguaje, PHP no es sensitivo a
diferenciar entre mayúsculas y minúsculas.
 En las variables, diferenciar entre mayúsculas y minúsculas es muy importante.
<?php
$numero=1947
print “El año elegido es $numero.”; // Mostrará en pantalla: El año
elegido es 1947.
print “El año elegido es $Numero.”; // Mostrará en pantalla: El año
elegido es .
?>
LENGUAJE DE PROGRAMACIÓN PHP
28
 En los nombres de funciones y en construcciones del lenguaje, PHP no es sensitivo a
diferenciar entre mayúsculas y minúsculas. Es indiferente que se escriba la función PRINT() o
print(), puesto que el resultado será el igual.
<?php
$numero=1947
print “El año elegido es $numero.”; // Mostrará en pantalla: El año
elegido es 1947.
PRINT “El año elegido es $numero.”; // Mostrará en pantalla: El año
elegido es 1947.
?>
3.10. Inclusión de ficheros externos
Una forma muy útil de agregar código PHP a nuestro programa es insertando dicho código en otro
fichero e invocarlo mediante las funciones include() y require().
Existen dos tipos de ficheros externos, éstos son:
Include()
Con este fichero llamamos a otro fichero que tendremos creado. Así podremos ahorrarnos mucho
código a la hora de escribir nuestro programa. En caso de error, producirá un “Warning”, por lo que
se cargará la página, pero con ese error en ella.
Require()
Este fichero sirve para incluir bibliotecas de funciones. Una biblioteca es un archivo que almacena el
código compilado de otras funciones. En caso de error produce un “Error fatal”, por lo que la carga
de la página quedará interrumpida.
LENGUAJE DE PROGRAMACIÓN PHP
29
A continuación, veremos un ejemplo:
<HTML>
<HEAD>
<TITLE>Ficheros></TITLE>
<?php
require (“$libdir/conexion.php”);
require (“$libdir /date.php”);
require (“$libdir /carrito.php”);
require (“$libdir /globals.php”);
?>
</HEAD>
<BODY>
<?php
include (“inicio.html”);
?>
// Aquí iría el resto del código HTML y PHP
<php
include (“fin.html”);
?>
</BODY>
</HTML>
3.11. Práctica: Mi primer texto
Realizar un programa que muestre este texto por pantalla:
“Este texto es un ejemplo muy fácil y seguramente lo hagamos bien. Si no es así, debemos repasar la
lección.”.
Código:
<?php
echo “Este texto es un ejemplo muy fácil y seguramente lo hagamos bien. Si no es así, debemos
repasar la lección.”;
?>
Guardarla como: practica.php
LENGUAJE DE PROGRAMACIÓN PHP
30
3.12. Práctica: Include
INCLUDE:
Realizar un programa que muestre el mismo texto de la práctica anterior utilizando el mismo archivo.
<?php
include(“practica.php”);
?>
Guardarla como: practica2.php
Recuerda…
Si habilitamos la opción “short_tags()” conseguimos que funcione la fórmula de etiquetas cortas.
Tanto en las variables como en las funciones, PHP distingue entre mayúsculas y minúsculas, en las
variables sí las distingue, pero no en las funciones
Las diferencias entre poner comillas dobles o comillas simples en PHP es que las comillas simples
muestran el contenido tal y como está escrito, y las dobles buscan variables a interpretar.
Para delimitar un código PHP se hace con < ? [código PHP] ? >, dentro del código HTML.
Se suele poner una doble barra vertical “//”, en el código PHP, para poner comentarios en nuestro
código.
Con el fichero externo, require(), podremos incluir bibliotecas de funciones.
PHP ignora los caracteres de espaciado presentes en el código, ya sean tabuladores como también
saltos de línea.
Las etiquetas canónicas son las más recomendadas para utilizar en PHP.
LENGUAJE DE PROGRAMACIÓN PHP
31
4. VARIABLES Y CONSTANTES
En esta lección, le explicaremos detalladamente las variables y las constantes. Hablaremos de las
variables predefinidas, de sus usos y características. Tenga presente a la hora de afrontar esta
lección, que éstos son conceptos esenciales que debe dominar desde el inicio para controlar la
programación en PHP.
4.1. Definición de variables
Las variables son una parte fundamental en todos los lenguajes de programación. Se definen como la
principal manera de almacenar valores en el medio de un programa. Con las variables puede realizar
operaciones, puede hacer comparaciones entre sí y puede variar el flujo del programa en función de
su valor en ese momento.
Las características más importantes que debe tener siempre presente de las variables son:
 Todas las variables en PHP comienzan con el símbolo “$”. $variable
 Son asignadas con el operador ‘='. La variable a la izquierda del operador y la expresión a
evaluar a la derecha. $variable1 = “ana” / $variable2 = 8
 No necesitan ser declaradas antes de su uso, es decir, no necesitamos decirle al programa si
una variable es una cadena o un número entero, ya que PHP se encargará de definirla por sí
mismo.
 No tienen un valor intrínseco, sino que toman el tipo del último valor asignado.
 Las variables que se utilizan antes de ser asignadas tienen un valor por defecto.
 Las variables hacen distinción entre las mayúsculas de las minúsculas. $Variable es distinta
de $variable.
Ejemplo de diferentes tipos de variables:
<?php
$variableCadena = "Variable";
$variableNumero = 57;
$variableDecimal = 8.5;
?>
El valor de las variables
Los valores de las variables cambian continuamente, pero siempre serán iguales al último valor
fijado. En PHP, las variables se asocian a un contenido del tipo que sea, y dichas variables se
modifican cuantas veces lo haga su contenido.
EJEMPLO:
$variable = “Cadena de texto”;
$variable = 6; // Ahora la variable es un entero
$variable = 5,7 * $variable; // Ahora la variable es un float
$variable = nueva funcion(); // Ahora la variable es un objeto
LENGUAJE DE PROGRAMACIÓN PHP
32
Referencias
En PHP las variables pueden tener dos o más nombres diferentes para un mismo dato. Para definir
una referencia, se utiliza en carácter “&” delante de la variable referenciada:
$alias = &$variable
Así, se puede acceder al mismo dato de la memoria con $alias o con $variable indiferentemente.
Todas las modificaciones que se hagan sobre una u otra repercuten en el mismo dato.
Tipos de variables
Mientras que en C++ la declaración de variables se puede realizar en cualquier parte del programa,
no necesariamente al principio del mismo, pero siempre hay que declararlas; en PHP no es necesario
definirlas antes de utilizarlas, si no que van adquiriendo los diferentes valores que se le dan a lo largo
del programa. PHP gestiona las variables de manera automática y modifica los tipos de acuerdo con
los valores que va tomando durante la ejecución del script.
Las variables pueden ser de 3 tipos:
1. Enteras (tipo Integer): Son todas aquellas variables con un valor numérico comprendido entre -
231 y 231, PHP los interpreta como tipo Integer.
2. De coma flotante (tipo Double): Se consideran a las variables que sobrepasan el intervalo
numérico del tipo Integer, con lo que PHP convierte automáticamente la variable en tipo Double.
3. Cadenas (tipo String): Son todas las variables a las que se le asigna como valor una cadena de
caracteres.
Integer est velit, rhoncus commodo leo eu, pellentesque pretium diam.
TIPOS DE VARIABLE
Tipo Definición Ejemplo
Integer Para valores numéricos comprendidos entre -231 y 231. $a=2547896
Double Para valores que sobrepasen el intervalo numérico del tipo
Integer.
$a=2.5
String Para valores entre comillas, ya sean números o letras. $a=”palabra” o $a=”
57”
NOTA: Existe una función que devuelve una cadena de caracteres con el tipo de las variables que
contiene, esta función es gettype(variable). Y siempre devolverá los tipos Integer, Double o String.
$variable = “cadena”;
echo (gettype($variable)); Mostrará en pantalla String
LENGUAJE DE PROGRAMACIÓN PHP
33
Forzando los tipos de las variables
En PHP se pueden forzar los tipos de las variables, es decir, se puede asignar un determinado tipo a
una determinada variable, independientemente de su valor real.
 Forzado de una variable a tipo Integer
Se consigue anteponiendo a su valor una de estas expresiones: (Integer) o (int). Un ejemplo sería:
$variable=((Integer)3.8) o $variable=((int)3.8)
 Forzado de una variable a tipo Double
Se obliga a la variable anteponiéndole a su valor una de estas expresiones: (double) o (real) o (float).
$variable=((double)57) o $variable=((real)57) o $variable=((float)57)
 Forzado de una variable a tipo String
Se obtiene introduciendo antes que el valor la expresión (string).
$variable=((string)57)
NOTA: Existe otra posibilidad de forzar el tipo de las variables, esto se consigue con la instrucción
settype (variable,tipo). La cadena tipo debe contener uno de los siguientes valores Integer, Double o
String. Para convertir a tipo entero una variable haríamos:
($variable,Integer)
La función settype realiza la conversión y devuelve un valor verdadero o falso.
Operaciones con diferentes tipos de variables
PHP permite realizar operaciones aritméticas con los tres tipos de variables. Pero tenemos que tener
en cuenta las siguientes consecuencias:
 Al operar con dos Integer (enteros), si el resultado está dentro del rango de los enteros,
devuelve un Integer.
 Si opera con dos Integer y el resultado sobrepasa el rango de los Integer, automáticamente
convierte el valor en Double (coma flotante).
 Si opera un Integer con una variable Double, dará como resultado Double.
 Una variable String (cadena) opera como los Integer. Si hay caracteres numéricos al
comienzo los extrae hasta que aparezca un punto o un carácter no numérico y los opera
como enteros.
 Si una cadena no contiene caracteres numéricos al principio, al operar con ella toma el valor
numérico como cero.
LENGUAJE DE PROGRAMACIÓN PHP
34
Vectores
Los vectores se utilizan para guardar, manejar y operar grupos de variables. Por ejemplo, vamos a
escribir en un archivo .php el siguiente código:
<?php
$a[0]=5;
$a[1]=8;
$a[2]=2;
echo "$a[0],$a[1],$a[2]";
?>
Otra forma de declarar vectores es la siguiente:
<?php
$v=array(a=>”Sevilla”,b=>”Huelva”,c=>”Granada”);
echo “$v[a], $v[b], $v[c]”;
?>
4.2. Verificación de asignación previa
Podemos verificar si una variable ha sido anteriormente asignada con la función IsSet () de la
siguiente manera:
if (IsSet ($variable) )
print (“el valor de la variable es $variable”);
else
print (“no se le ha asignado ningún valor a la variable”);
4.3. Variables predefinidas
PHP utiliza una serie de variables predefinidas que facilitan información de gran utilidad. Muchas de
estas variables no están completamente documentadas, puesto que dependen de en qué servidor se
esté ejecutando, la versión y configuración del mismo, además de otros factores. Tenga en cuenta,
que el contenido de las celdas donde aparecería el resultado de las variables predefinidas variarán
dependiendo del servidor al que acceda y a los parámetros de configuración que tenga asignados.
Con estas variables, podrá conocer las IP del visitante, el navegador que utiliza, el nombre del
proveedor, etc.
Para que las muestre en pantalla, deberá llevar la función echo delante de la variable.
Para poder visualizar en pantalla la información que estas variables son capaces de mostrar, es
importante que en el fichero php.ini esté el valor register_globals=ON.
A continuación le indicamos algunas de estas variables predefinidas, y le especificamos la
información que muestran.
LENGUAJE DE PROGRAMACIÓN PHP
35
Variables predefinidas:
 GATEWAY_INTERFACE: Indica qué revisión de la especificación CGI está usando el servidor.
 SERVER_NAME: Muestra el nombre del servidor en el que se ejecuta el script de PHP.
 SERVER_SOFTWARE: Describe la cadena de identificación del servidor que aparece en las
cabeceras al responderse a las peticiones.
 SERVER_PROTOCOL: Da el nombre del protocolo a través del que se solicitó la página.
 REQUEST_METHOD: Nos dice el método de petición que se utilizó para ir a la página.
 QUERY_STRING: Muestra la cadena de petición con la que se accedió a la página.
 DOCUMENT_ROOT: Revela el directorio raíz del documento bajo que se ejecuta el script, tal y
como está definido en el fichero de configuración del servidor.
 HTTP_ACCEPT: Enseña los tipos MIME que el cliente puede recibir.
 HTTP_ACCEPT_CHARSET: Indica cuáles son los contenidos de la cabecera Accept-Charset de
la petición actual.
 HTTP_ENCODING: Permite ver los contenidos de la cabecera Accept-Encoding de la petición
actual.
 HTTP_ACCEPT_LANGUAGE: Da los contenidos de la cabecera Accept-Language de la petición
actual.
 HTTP_CONNECTION: Enseña el tipo de conexión HTTP que está en uso. Generalmente Keep-
Alive, esto indica que el servidor no debe cerrar la conexión con el cliente.
 HTTP_HOST: Describe los contenidos de la cabecera Host de la petición actual.
 HTTP_REFERER: Revela la dirección de la página desde la que el navegador accedió a la
página actual.
 HTTP_USER_AGENT: Muestra desde qué navegador se está accediendo para ver la página.
 REMOTE_ADDR: Permite visualizar la dirección IP desde la que el usuario está viendo la
página actual.
 REMOTE_PORT: Enseña el puerto que se está utilizando en la máquina del usuario para
comunicarse con el servidor Web.
 gethostbyaddr("$REMOTE_ADDR"): Indica qué puerto se está usando en la máquina del
usuario para comunicarse con el servidor Web.
 SCRIPT_FILENAME: Describe la vía de acceso absoluta del script que se está ejecutando.
 SERVER_ADMIN: Da el valor que se haya dado a la directiva SERVER_ADMIN (en Apache) en
el fichero de configuración del servidor Web.
 SERVER_PORT: Muestra el puerto del equipo servidor que está usando el servidor Web para
la comunicación.
 SERVER_SIGNATURE: Es una cadena que contiene la versión del servidor y el nombre del
servidor virtual que es añadida a las páginas generadas por el servidor si está característica
está activa.
 SCRIPT_NAME: Revela la vía de acceso basada en el sistema de ficheros del script en
cuestión, después de que el servidor haya hecho la conversión virtual-a-real.
 REQUEST_URI: Indica la URI que se dio para acceder a esta página.
 PHP_SELF: Nos dice el nombre del fichero que contiene el script que se está ejecutando,
relativo al directorio raíz de los documentos.
Normalmente, si utiliza un servidor gratuito para alojar sus páginas .php, no tendrá privilegios para
modificar el archivo de la configuración porque el valor register_globals estará en OFF. Si esto es así,
no podrá visualizar las variables predefinidas. Para poder verlas, bastará con que modifique la
manera de llamar a las variables e introduzca el nombre de la variable en el campo de nombre de un
array asociativo.
LENGUAJE DE PROGRAMACIÓN PHP
36
Donde antes se ponía el nombre de la variable, ahora se pone $HTTP_SERVER_VARS*‘nombre de la
variable']. Un ejemplo claro sería:
register_globals=ON register_globals=OFF
GATEWAY_INTERFACE $HTTP_SERVER_VARS*‘GATEWAY_INTERFACE'+
SERVER_NAME $HTTP_SERVER_VARS*‘SERVER_NAME'+
Si se decanta por invocar siempre las variables predefinidas de esta forma, le servirá tanto para
register_globals=ON como para register_globals=OFF, de la configuración del php.ini.
NOTA: Para la versión PHP 4.2.0 o superior, se incorporan entre otras la variable $_SERVER, que
tiene la misma función que $HTTP_SERVER_VARS, pero con un valor añadido, $_SERVER tiene la
característica de ser una variable superglobal. Anteriormente, para utilizar una variable dentro de
una función era imprescindible definirla en esa función como global, pues a partir de la versión PHP
4.2.0, la variable $_SERVER define automáticamente como global cualquier función.
4.4. Ámbito de las variables
El ámbito de una variable es el contexto donde la variable está definida. La mayoría de las variables
PHP solamente tienen un ámbito simple, el cual también abarca los ficheros incluidos y los
requeridos. Las variables pueden ser:
 Ámbito global: La variable está presente en todas las partes del script, y puede ser utilizada
en cualquier momento.
Para declarar una variable de ámbito global, se puede utilizar la palabra global, aunque sólo
con definirla fuera de cualquier función ya se le está aplicando este ámbito.
 Ámbito local: La variable sólo existe y opera dentro de una función concreta, no puede ser
accesible por el script en general ni por la demás funciones.
En cualquier caso, dentro de las funciones definidas por el usuario existe un ámbito local a la función.
Cualquier variable que se use dentro de una función estará limitada al ámbito local de la función. Un
ejemplo de todo esto puede ser:
<?php
$x = 1; /* variable global */
function Prueba()
{
echo $x; /* referencia a la variable local */
}
Prueba();
?>
LENGUAJE DE PROGRAMACIÓN PHP
37
El ejemplo anterior no producirá salida, puesto que la orden “echo” usa una versión local de la
variable $x, a la cual no se ha asignado ningún valor en su ámbito. Seguramente, no notemos que
hay un pequeño contraste con el lenguaje C, y es que en las variables globales están disponibles
automáticamente dentro de la función siempre que sean sobrescritas por una definición local. Sin
embargo, esto puede acarrear problemas, que podremos cambiar variables globales
inesperadamente. En PHP, las variables globales deben ser declaradas globales dentro de la función
si van a ser utilizadas dentro de dicha función. Con el siguiente ejemplo se verá claramente:
<?php
$num1 = 2;
$num2 = 4;
function Suma()
{
global $num1, $num2;
$num2 = $num1 + $num2;
}
Suma();
echo $num2;
?>
Pero en este caso, el ejemplo anterior producirá la salida "6". Al declarar “$num1” y “$num2”
globales dentro de la función, las referencias que realicemos a dichas variables se referirán a la
versión global.
Una de las características más importantes del ámbito de las variables es la variable “static”. Una
variable estática puede existir sólo en el ámbito local de la función y no pierde su valor cuando la
ejecución del programa abandona este ámbito. Lo podremos ver más claro en el siguiente ejemplo:
<?php
function Prueba ()
{
static $var = 0;
echo $var;
$var++;
}
?>
A partir de ahora, cuando llamemos a la función Prueba(), se representará el valor de “$var” y se
incrementará.
Las variables estáticas también suministran una forma de manipular funciones recursivas. La función
recursiva es aquélla que se llama a sí misma. Debemos tener cuidado cuando escribamos una función
recursiva, puesto que puede suceder que se llame a sí misma indefinidamente. Nos tenemos que
asegurar de implementar de una forma adecuada para terminar la recursión. La función del siguiente
ejemplo cuenta recursivamente hasta 5, usando la variable estática “$a” para saber cuándo parar:
<?php function Prueba() { static $a = 0; $a++; echo $a; if ($a < 5) {
Prueba(); } $a--; } ?>
LENGUAJE DE PROGRAMACIÓN PHP
38
4.5. Variables variables
A menudo, se suele usar lo que se conoce con el nombre de “variables variables”. Es decir, son
nombres de variables que pueden establecerse y usarse dinámicamente. Por ejemplo, una variable
normal se establece con una sentencia de la siguiente manera:
<?php
$variable = "hola";
?>
En el caso de una variable variable, toma el valor de una variable y lo trata como el nombre de una
variable. En el ejemplo anterior, la variable “hola” se puede usar como el nombre de una variable
usando “$$”, como por ejemplo:
<?php
$$variable = "mundo";
?>
A partir de ahora, ya tenemos definidas y almacenadas dos variables en el árbol de símbolos de PHP:
una sería $variable, que contiene la cadena "hola", y la otra sería $hola, que contiene la cadena
"mundo". Por lo tanto, estas dos sentencias producen el mismo resultado: “hola mundo”.
<?php
echo "$variable ${$variable}";
?>
<?php
echo “$variable $hola”;
?>
4.6. Definición de una constante
En PHP tenemos que definir las constantes utilizando la función define(), cuya declaración es:
define(“nombre”, “valor” [, noMayusculas])
Donde nombre es el nombre que le damos a la constante, valor su valor, y el campo opcional
noMayusculas indica si está a 1 que podemos acceder a la variable independientemente con
mayúsculas o minúsculas, mientras que si está a 0 (valor por defecto) sólo podremos acceder a ella
de la misma forma que la hayamos definido.
Las diferencias existentes entre las constantes y las variables en PHP son muy claras:
 No llevan el símbolo del dólar delante.
 Puede accederse a ellas desde cualquier parte del código donde han sido definidas, sin
restricciones de ámbito como en las variables.
 No pueden ser redefinidas o borradas una vez definidas.
 Sólo pueden contener valores escalares, no vectores.
LENGUAJE DE PROGRAMACIÓN PHP
39
Un ejemplo de declaración y uso de constantes en PHP sería:
<?php
define("CONSTANTE", "Hola mundo.");
echo CONSTANTE; // muestra "Hola mundo."
?>
4.7. Constantes predefinidas
En PHP existen constantes predefinidas que no requieren de la función define (“nombre”,”valor”).
Éstas son:
 __FILE__: Recoge el nombre del archivo de comandos que se está ejecutando actualmente y
también la ruta completa de su ubicación en el servidor.
 __LINE__: Registra el número de línea, también considera las líneas en blanco dentro del
archivo PHP que está siendo interpretado en la actualidad. Si se usa dentro de un archivo
incluido o requerido, entonces se da la posición dentro del archivo incluido. Es una constante
muy útil, puesto que con ella se pueden depurar las páginas PHP.
NOTA: No olvide, que tanto la constante FILE como LINE llevan dos rayas delante y otras dos detrás.
 PHP_VERSION: Recoge la versión PHP en uso por el servidor.
 PHP_OS: Indicará información del sistema operativo que utiliza el servidor en el cuál se está
interpretando el fichero PHP.
 TRUE: Valor verdadero.
 FALSE: Valor falso.
 E_ERROR: Denota un error distinto de un error de interpretación del cual no es posible
recuperarse.
 E_WARNING: Denota una condición donde PHP reconoce que hay algo erróneo, pero
continuará de todas formas; pueden ser capturados por el propio archivo de comandos.
 E_PARSE: Indicará que el intérprete encontró sintaxis inválida en el archivo de comandos, y
que la recuperación no es posible.
 E_NOTICE: Ocurrió algo que pudo ser o no un error. La ejecución continúa. Los ejemplos
incluyen usar una cadena sin comillas como un índice "hash", o acceder a una variable que
no ha sido inicializada.
LENGUAJE DE PROGRAMACIÓN PHP
40
Las constantes E_* se usan típicamente con la función error_reporting() para configurar el nivel de
informes de error.
<HTML>
<TITLE>EJEMPLO</TITLE>
</HEAD>
<BODY>
<?php
// La constante del sistema __FILE__ nos devolverá
// el nombre del fichero que se está interpretando
// actualmente. En este caso nos devolverá ejemplo.php
// y también su path.
echo "La ruta completa de este fichero es: ";
echo __FILE__;
// La constante del sistema __LINE__ nos devolverá
// el número de línea que se está interpretando y
// también cuenta las líneas en blanco
// cuenta las líneas y verás que devuelve ... 21.
echo "<br>Esta es la línea: ",__LINE__, "del fichero";
echo "<br>Estamos utilizando la versión: ",PHP_VERSION, " de PHP";
echo "<br>El PHP se está ejecutando desde el sistema operativo: ",PHP_OS;
?>
</BODY>
</HTML>
4.8. Práctica: Variables
VARIABLES:
Realizar una función en la cual utilicemos una variable definida fuera de
dicha función.
<?php
$num = 5;
function sumar($num){
$suma = ($num + 25);
echo $suma;
}
sumar($num);
?>
LENGUAJE DE PROGRAMACIÓN PHP
41
4.9. Práctica: Constantes
CONSTANTES:
Realizar un programa que cumpla los siguientes requisitos:
1. El título de la página será “CONSTANTES”.
2. Deberá mostrar la ruta del fichero, la versión de PHP que estamos
utilizando y el sistema operativo utilizado.
3. Deberemos incluir comentarios.
4. Crear una constante, la cual nos deberá mostrar su nombre y primer
apellido.
<HTML>
<TITLE>CONSTANTES</TITLE>
</HEAD>
<BODY>
<?php
define (“nombre”,”Mi nombre es Manolo García”);
echo __FILE__; //mostrará la ruta del fichero.
echo PHP_VERSION; //nos muestra la versión de PHP que estamos utilizando.
echo PHP_OS; //nos muestra el sistema operativo que estamos utilizando.
echo nombre; //nos mostrará nuestro nombre y apellido.
?>
</BODY>
</HTML>
Recuerda…
Con el símbolo de “$” comienzan todas las variables en PHP.
Se puede definir una variable global fuera de una función, la podremos utilizar dentro de dicha
función aunque no la declaremos como “global”.
Una variable estática existe solo en el ámbito local de una función.
Cuando hablamos de constantes predefinidas, para conocer el nombre del archivo que se está
ejecutando en este momento, está se escribe __FILE__, y tenemos que poner obligatoriamente dos
rayas delante y otras dos detrás de la palabra FILE.
Las constantes en PHP se definen utilizando la función define().
En cuanto al valor de las variables, si asignamos dos variables con el mismo nombre, el valor de la
variable será el último valor fijado.
Los valores asignados a las constantes se mantienen, incluso cuando las constantes son invocadas
desde una función.
Cuando los valores de una constante son numéricos, no es necesario escribirlos entre comillas.
LENGUAJE DE PROGRAMACIÓN PHP
42
5. OPERADORES
Durante esta lección aprenderemos que las variables pueden ser creadas, modificadas y comparadas
entre sí por medio de los “operadores”. También nos instruiremos en cómo listar los operadores más
importantes.
5.1. Qué son los operadores
Los operadores se definen como símbolos que expresan operaciones que se pueden realizar entre
dos o más elementos, a éstos los llamaremos operandos.
Por medio de dichos operadores, las variables pueden ser creadas, modificadas y comparadas entre
sí.
5.2. Operadores de asignación y de concatenación
Los operadores de asignación y de concatenación son los más simples. Pero también son los más
usados por los programadores.
 Operador de asignación: El operador de asignación que se utiliza es el símbolo igual (=) que
nos permite asignar valores a las variables. Veamos un ejemplo:
<?php
$variable = 1582;
$departamento = "desarrollo";
$var1 = var2 = 0;
?>
 Operador de concatenación: El operador de concatenación que utilizamos es el punto (.) y
con él podemos unir los valores de las variables. Por ejemplo:
<?php
$nom = "fernando";
$ape = "altea";
$completo = $nom." ".$ape; // concatena los dos valores y añade un espacio
?>
También podemos utilizar el operador punto igual (.=) para asignar un dato al valor anterior:
<?php
$cadena = "pulsera";
$cadena .=" amarilla";
// la variable $cadena contiene ahora “pulsera amarilla”
?>
LENGUAJE DE PROGRAMACIÓN PHP
43
5.3. Operadores aritméticos
Los operadores aritméticos son aquéllos que nos permiten realizar operaciones numéricas con
nuestras variables.
El operador que puede llevar más confusión es el tanto por ciento (%). Para utilizarlo correctamente,
si queremos obtener el resto de una división, lo debemos colocar entre los dos valores que queremos
realizar la operación.
Los principales operadores aritméticos son:
+ Suma
- Resta
* Multiplicación
/ División
% Devuelve el resto de la división
Por ejemplo, 2 % 2 dará como resultado 0, mientras que 6 % 5 dará 1.
Vamos a realizar un ejemplo con los distintos tipos de operaciones que se pueden realizar. Para ello
utilizaremos las variables ‘$a' y ‘$b'.
<HTML>
<BODY>
<?php
$a = 10; // Asignamos a “a” el valor
$b = 6; // Asignamos a “b” el valor 6
echo 'a = ' . $a . ', b = ' . $b . '<P>';
// Muestra a = 10, b = 6
echo 'a + b = ' . ($a + $b) . '<BR>'; // Muestra a + b = 16
echo 'a - b = ' . ($a - $b) . '<BR>'; // Muestra a – b = 4
echo 'a * b = ' . ($a * $b) . '<BR>'; // Muestra a * b = 60
echo 'a / b = ' . ($a / $b) . '<BR>'; // Muestra a / b = 1,666667
echo 'a % b = ' . ($a % $b) . '<BR>'; // Muestra a % b = 4
echo '-a = ' . ($a) . '<P>'; // Muestra -a = -10
?>
</BODY>
</HTML>
LENGUAJE DE PROGRAMACIÓN PHP
44
5.4. Operadores de comparación
Los operadores de comparación se suelen utilizar generalmente para comparar dos variables,
comprobando si cumple o no la condición previamente establecida. Estos operadores son binarios y
su resultado es un booleano (valor de verdad).
Podemos estudiar los siguientes operadores de comparación:
== Igualdad
!= Desigualdad
< Menor que
<= Menor o igual que
> Mayor que
>= Mayor o igual que
Como ejemplo de cada uno de ellos, tenemos:
$a == $b: Es verdadero si $a es igual a $b.
$a != $b: Es verdadero si $a es distinto que $b.
$a < $b: Es verdadero si $a es menor que $b.
$a <= $b: Es verdadero si $a es menor o igual que $b.
$a > $b: Es verdadero si $a es mayor que $b.
$a >= $b: Es verdadero si $a es mayor o igual que $b.
5.5. Operadores lógicos
Los operadores lógicos se usan conjuntamente con los operadores de comparación cuando la
expresión que queremos comparar requiere de un operador lógico. Sirven para componer
condiciones más simples por medio de las reglas de la y, o y no lógicas.
Estos operadores nos permiten expresar condiciones compuestas de las que queremos averiguar su
valor de verdad.
Los principales operadores lógicos son:
&& And (Y)
|| Or (O)
! NOT (Negación)
Un ejemplo claro de cada operador lógico sería:
 $a && $b: (Y) Es verdadero si tanto $a como $b son verdaderos.
 $a || $b: (O) Es verdadero si $a o $b son verdaderos.
 ! $a: (Negación) Es verdadero si $a no es verdadero.
LENGUAJE DE PROGRAMACIÓN PHP
45
Vamos a realizar un ejemplo de operadores lógicos. Partiendo de tres variables (a, b y c) y vamos a
realizar distintas operaciones con ellas:
<HTML>
<BODY>
<?php
$a = 10; // Asignamos a la variable “a” el valor 10
$b = 6; // Asignamos a la variable “b” el valor 6
$c = 11; // Asignamos a la variable “c” el valor 11
echo 'a = ' . $a . ', b = ' . $b . ', c = ' . $c . '<P>';
echo '(a > b) && (a > c) : ' . (($a > $b) && ($a > $c)) . '<BR>';
echo '(a > b) && (a < c) : ' . (($a > $b) && ($a < $c)) . '<BR>';
echo '!(a < b) : ' . !($a < $b) . '<BR>';
echo '(a > b) || (a > c) : ' . (($a > $b) || ($a > $c)) . '<BR>';
?>
</BODY>
</HTML>
Comentarios:
 La primera comparación nos dice si '$a' es mayor que '$b' y a la vez mayor que '$c'.
 La segunda, si '$a' es mayor que '$b' y a la vez menor que '$c'.
 La tercera, si no se cumple que '$a' sea menor que '$b'.
 Y por último, la cuarta nos dice si '$a' es mayor que '$b', o bien '$a' es mayor que '$c'.
5.6. Operadores de incremento/decremento
Los operadores de incremento o decremento sirven para aumentar o disminuir el valor de una
variable. Estos operadores solo suman o restan una unidad, existen dos tipos:
$variable++ Aumenta en 1 el valor de la variable indicada
$variable-- Disminuye en 1 el valor de la variable indicada
A la hora de insertar un operador de incremento o decremento en nuestro código PHP, hay que
hacerlo de la siguiente manera:
 $a++: Devuelve $a y después incrementa $a en una unidad.
 $a--: Devuelve $a y después decrece su valor en una unidad.
LENGUAJE DE PROGRAMACIÓN PHP
46
5.7. Sentencias Condicionales If, Else/If, Elseif, Else
PHP, como lenguaje de programación que es, posee órdenes de control de flujo, es decir, permiten al
programa tomar decisiones lógicas según los parámetros que reciba. Por ejemplo, si hace frío ponte
un abrigo; pero si hace calor déjalo en tu casa.
Este tipo de sentencias sirven para realizar una operación u otra dependiendo de la condición que
establezcamos. Este tipo de acciones las podemos llevar a cabo gracias a una paleta de instrucciones
que se encuentran en casi todos los lenguajes de programación.
Es la estructura de control más simple en PHP. La sentencia If obliga a evaluar la expresión que haya
entre paréntesis y, si se cumple la condición, ejecuta un bloque de código. Si por el contrario dicha
condición no se cumple, el bloque de código será ignorado.
Como todo el mundo sabe, no todo puede ser sí o no, blanco o negro, grande o pequeño… Por esta
causa, se pueden plantear muchas más condiciones dentro de la condición principal, siempre
dependiendo de la finalidad que busquemos. A éstas se les llaman condiciones anidadas.
If, Elseif, Else:
Esta instrucción es similar al último caso que hemos visto, con la salvedad de que nos permite
introducir en la misma línea la instrucción condicional.
If, Else
Es la estructura de control más simple en PHP. La sentencia If obliga a evaluar la expresión que haya
entre paréntesis y, si se cumple la condición, ejecuta un bloque de código. Si por el contrario dicha
condición no se cumple, el bloque de código será ignorado.
if (condición)
{
Sentencia 1;
Sentencia 2;
...
}
else
{
Sentencia 3;
Sentencia 4;
...
}
Veamos un ejemplo para entenderlo mejor:
<?php
$edad = "";
if ($edad < 18)
{
echo "Lo siento, no puedes entrar aquí";
}
else
{
echo "Adelante, puedes entrar";
}
?>
LENGUAJE DE PROGRAMACIÓN PHP
47
No es necesario usar la declaración “Else”:
<?php
if ($user == "jaime")
{
// código exclusivo para el usuario Jaime
}
// código para todos los usuarios, sean o no Jaime
?>
Para incluir condiciones complejas solo basta con unirlas mediante el operador necesario para dicha
condición. Un ejemplo podría ser:
<?php
if (($precio <= 3000)&& ($km <= 45000))
{ echo “Este coche me lo voy a comprar”;
}
?>
Como todo el mundo sabe, no todo puede ser sí o no, blanco o negro, grande o pequeño… Por esta
causa, se pueden plantear muchas más condiciones dentro de la condición principal, siempre
dependiendo de la finalidad que busquemos. A éstas se les llaman condiciones anidadas, y su
estructura sería:
if (condición1)
{
Sentencia 1;
Sentencia 2;
...
}
else
{
if (condición2)
{
Sentencia 3;
Sentencia 4;
...
}
else
{
Sentencia 5;
...
}
}
Si cumple la condición1, realizaría las sentencias 1 y 2. Si cumple la condición2, realizaría las
sentencias 3 y 4. Y si por el contrario no cumple ninguna de las dos condiciones anteriores, realizaría
la sentencia 5.
LENGUAJE DE PROGRAMACIÓN PHP
48
If, Elseif, Else
Esta instrucción es similar al último caso que hemos visto, con la salvedad de que nos permite
introducir en la misma línea la instrucción condicional. Con esto, simplificamos un poco el ejemplo
anterior:
if (condición1)
{
Sentencia 1;
Sentencia 2;
...
}
elseif (condición2)
{
Sentencia 3;
Sentencia 4;
...
}
else
{
Sentencia 5;
...
}
Un ejemplo de esta instrucción sería:
<?php
if ($user == "pablo")
{
// código exclusivo para el usuario Pablo
}
elseif ($user == "miguel")
{
// código exclusivo para el usuario Miguel
}
else
{
// código para el resto, o lo que es lo mismo,
// para todos menos para Pablo ni Miguel
}
?>
De todo esto, deducimos que “elseif” es lo mismo que escribir primero un “else” y a continuación un
“if”.
LENGUAJE DE PROGRAMACIÓN PHP
49
5.8. Práctica: Mayor de dos números
MAYOR DE DOS NÚMEROS:
Programa que asigne dos valores distintos a dos variables y nos diga cuál es la mayor de las dos.
El programa nos deberá mostrar lo siguiente:
<?php
$a = 6;
$b = 2;
if ($a > $b)
{
echo “La variable a es mayor que la variable b.”;
}
else
{
echo “La variable b es mayor que la variable a.”;
}
?>
LENGUAJE DE PROGRAMACIÓN PHP
50
5.9. Práctica: Carné del polideportivo
CARNÉ DEL POLIDEPORTIVO:
Realizar un programa que, según la edad que escribamos, nos diga cuánto vale sacarse un carné en el
polideportivo.
Deberemos seguir estos pasos:
1. Si el socio tiene 9 años o menos, deberá costar 15 euros.
2. Si el socio tiene entre 10 y 17 años, deberá costar 22 euros.
3. Si el socio es mayor de edad, deberá costar 28 euros.
Deberemos conseguir que nos aparezca por pantalla lo siguiente:
<?php
$edad = 19;
if ($edad <= 9)
{ echo “El carné cuesta 15 euros.”;
}
elseif ($edad <= 17)
{
echo “El carné cuesta 22 euros.”;
}
else
{
echo “El carné cuesta 28 euros.”;
}
//el carné le costará 28 euros.
?>
LENGUAJE DE PROGRAMACIÓN PHP
51
5.10. Práctica: Valor de variable
PEDIDO 1:
Realizar un programa que, según el valor de la variable $var que se defina al comienzo, imprima
alguno de estos mensajes:
 el valor de la variable es numérico, entero y menor o igual de 10.
 el valor de la variable es numérico, entero y mayor de 10.
 el valor de la variable es numérico, decimal y menor o igual de 10.
 el valor de la variable es numérico, decimal y mayor de 10.
 el valor de la variable es texto.
<?php
$var = 4.5;
$valor=(gettype($var));
if ($valor == "integer" || $valor == "double")
{
if($var<=10)
{
if ($valor == "integer")
{
echo "el valor de la variable es numérico, entero y menor o igual de 10.";
}
else
{
echo "el valor de la variable es numérico, decimal y menor o igual de
10.";
}
}
else
{
if ($valor == "integer")
{
echo "el valor de la variable es numérico, entero y mayor de 10.";
}
else
{
echo "el valor de la variable es numérico, decimal y mayor de 10.";
}
}
}
else
{
echo "el valor de la variable es texto.";
}
?>
LENGUAJE DE PROGRAMACIÓN PHP
52
5.11. Práctica: Ordenar de menor a mayor
ORDENAR:
Realizar un programa donde se dé valor a tres variables y se ordenen de menor a mayor.
<?php
$a=100;
$b=10;
$c=60; if($a>$b)
{
$aux=$a;
$a=$b;
$b=$aux;
} if($b>$c)
{
$aux=$b;
$b=$c;
$c=$aux;
}
if($a>$b)
{
$aux=$a;
$a=$b;
$b=$aux;
}
echo "$a, $b, $c";
?>
Recuerda…
Si estamos realizando sentencias condicionales y escribimos un “elseif”, debe llevar obligatoriamente
una sentencia de condición.
Cada vez que escribimos un “if” en nuestro código de PHP, no es obligatorio llevar un “else”., ya que
un “if” puede ir suelto.
La diferencia que existe entre los operadores lógicos “&&” y “||”, es que, mientras que “&&” es
verdadero si las dos variables son verdaderas, mientras que “||” es verdadero si una de las dos es
verdadera.
Es correcto escribir el operador de incremento $a++, ya que devuelve $a y luego incrementa $a en
una unidad.
La diferencia de estos dos operadores: “/” y “%” estriba en que el primero realiza una división entre
las variables y el segundo da como resultado el resto de esa división.
Podemos incluir condiciones complejas en una sentencia condicional, unidas mediante un operador
lógico cualquiera.
El signo de desigualdad en PHP se escribe “!=”
El operador de asignación que utilizaremos será “=”
El operador de concatenación que utilizaremos será “.”
LENGUAJE DE PROGRAMACIÓN PHP
53
6. BUCLES
En el desarrollo de la siguiente lección, aprenderemos a utilizar una serie de instrucciones llamadas
Bucles, los cuales forman parte de la sintaxis en PHP.
6.1. Qué es un Bucle
Como todos sabemos, los ordenadores están diseñados para realizar tareas repetitivas y, por lo
tanto, podemos realizar programas para aprovechar este tipo de tareas, y poder realizar una
secuencia de instrucciones el número de veces que indiquemos.
Para todo ello, utilizaremos las estructuras llamadas bucles, que se utilizan para realizar la tarea
definida el número de veces que necesitemos.
A continuación detallaremos algunos de los aspectos de los bucles más utilizados en PHP.
6.2. Bucle While
Este bucle es el más sencillo de utilizar se utiliza, siempre y cuando la condición sea verdadera, para
ejecutar las instrucciones que contiene dentro de él. El valor de la expresión es comprobado cada vez
al principio del bucle, incluso si este valor cambia durante la ejecución de las sentencias, la ejecución
no parará hasta el fin de la repetición.
Su sintaxis es la siguiente:
while (condición)
{
Instrucción1;
Instrucción2;
...
}
Un breve ejemplo sería:
<?php
$i=1;
while ($i <=10) {
echo "$i<br>";
$i++;
}
?>
El ejemplo anterior muestra los números desde el 1 hasta el 10 de forma correlativa. Cuando llega al
10 se saldrá del bucle. Para que el ejemplo funcione, ha de cumplir dos condiciones: una que $i sea,
al principio, menor que 10, ya que si es mayor el bucle no se ejecuta pues la condición no se cumple,
y la otra es que hay que ir aumentando $i ($i++), ya que si no hacemos esto, $i valdría siempre 1. En
este caso, la condición siempre sería verdadera y no podríamos salir nunca del bucle.
LENGUAJE DE PROGRAMACIÓN PHP
54
EJEMPLO: A continuación vemos un ejemplo. En él se recorre una cadena hasta que encontremos un
determinado carácter. Si encuentra dicho carácter, se muestra la posición en que lo ha encontrado; si
por el contrario, no lo encuentra, nos muestra un mensaje de error advirtiéndolo.
<?
$cadena = "hoy tengo mucha hambre";
//recorro la cadena hasta encontrar una "b"
$i=0;
while ($cadena[$i]!="b" && $i< strlen($cadena)){
$i++;
}
if ($i==strlen($cadena))
echo "Error, no encontramos ninguna b";
else
echo "¡¡Encontrada!! Está en la posición $i";
?>
NOTA: Para que entendamos bien este ejercicio, es necesario conocer la función de cadena strlen(),
la cual nos da como resultado la longitud de la cadena que se le pase como parámetro: “int strlen
(string cad)” que devuelve un número entero igual a la longitud de la cadena.
En cuanto al ejemplo, definimos una cadena en la que escribimos "hoy tengo mucha hambre". A
continuación, recorrerá esa cadena hasta el final de la cadena o hasta encontrar el carácter "b". La
variable $i la utilizamos para llevar la cuenta de los caracteres que hemos recorrido durante la
ejecución del programa.
6.3. Bucle Do…While
Este bucle es casi igual que el explicado anteriormente, pero con la salvedad de que aquí la condición
se evalúa después de ejecutar el código. Esa es la gran diferencia con respecto a “while”, así que
garantiza la ejecución de la primera iteración de este bucle.
Su sintaxis es la siguiente:
do
{
Instrucción1;
Instrucción2;
...
} while (condición)
LENGUAJE DE PROGRAMACIÓN PHP
55
Un breve ejemplo para entender este bucle sería:
<?php
$i=1;
do
{
echo "$i<br>";
$i++;
}
while ($i <=10);
?>
Este ejemplo sería igual que el ejemplo de “while”, ya que también mostraría los números desde el 1
hasta el 10, cada uno en una línea.
6.4. Bucle For
Es uno de los bucles más complejos en PHP. For toma tres parámetros separados entre ellos
mediante un punto y coma, estos parámetros son:
 Valor inicial de la variable de control.
 Valor final de la variable de control.
 Incremento de dicha variable.
Este bucle resulta muy práctico en determinadas situaciones. Es uno de los más populares, y la
diferencia que tiene con los anteriormente explicados radica en cómo se plantea la condición de
finalización del bucle.
Es importante saber, que podemos romper cualquiera de los bucles en el momento que deseemos
escribiendo la sentencia “break”.
La sintaxis de un bucle For es la siguiente:
for (valor_inicial ; valor_final ; incremento/decremento)
{ Instrucción1;
Instrucción2;
...
}
La primera expresión que se evalúa es “valor_inicial”, y se hace una sola vez al comienzo del bucle. A
continuación, al comienzo de cada iteración es evaluada “valor_final” y si dicha evaluación resulta
verdadera, el bucle sigue su curso al igual que las sentencias anidadas. Pero si la evaluación resulta
que es falsa, la ejecución del bucle finaliza. Un breve ejemplo de todo esto podría ser:
<?php
for ($i = 1; $i <= 10; $i++) {
echo "$i<br>";
}
?>
LENGUAJE DE PROGRAMACIÓN PHP
56
Este ejemplo mostraría los números del 1 al 10, cada uno en una fila distinta. Cabe destacar, que el
valor inicial no se puede poner fuera del bucle For, ya que no afectaría en nada a nuestro programa.
Veamos un ejemplo de esto:
<?php
print(“Cuenta atrás…<P>”);
$i=10;
for ( ; $i >= 0; $i--) {
print (“$a = $a<BR>”);
}
?>
Es importante saber, que podemos romper cualquiera de los bucles en el momento que deseemos
escribiendo la sentencia “break”. Veamos un ejemplo de cómo funciona dicha sentencia, pero al final
de este tema hablaremos de ella con más detenimiento:
<?php
for ($i = 1; ;$i++) {
if ($i > 10) {
break;
}
print $i;
}
?>
Este ejemplo lo que hace es mostrar por pantalla los números correlativos desde el 1 hasta el 10. El
valor final se encuentra dentro de una sentencia condicional “if” y, cuando dicho valor resulta
verdadero, se ejecuta la orden “break”, por lo que el programa sale del bucle For.
Tanto el ejemplo anterior como el primer ejemplo que hicimos de este apartado, se podrían
sintetizar considerablemente. Bastaría con escribir el siguiente código y obtendríamos los mismos
resultados:
<?php
for ($i = 1; $i <=10; print $i, $i++);
?>
LENGUAJE DE PROGRAMACIÓN PHP
57
6.5. Bucle Foreach
Los bucles “Foreach” son utilizados para el tratamiento de arrays. Cabe recordar que un array es una
variable que guarda un conjunto de valores relacionados mediante una clave.
Este bucle nos ayuda a recorrer los valores de una matriz, lo que nos resulta muy útil para realizar
una lectura rápida de la misma. Si no lo utilizamos con matrices, nos devolverá un error.
La sintaxis es la siguiente:
Foreach ($array as $clave=>$valor)
{
Instrucción1;
Instrucción2;
…;
}
Este bucle recorre el array dado por “$array” y en cada iteración, el valor actual se asigna al
elemento “$valor”, y el puntero interno del array avanza en una unidad, por lo que en el siguiente
paso, estará apuntando al elemento siguiente.
Vamos a realizar un ejemplo práctico de cómo se ejecuta un bucle “Foreach”:
<?php
$capitales=array("España"=> "Madrid","Italia" => "Roma","Francia" =>
"París");
Foreach ($capitales as $clave=>$valor)
{
echo "Pais: $clave Capital: $valor<br>";
}
?>
Un array o matriz multidimensional es aquél en el que al menos uno de sus valores es, a su vez, un
array. Un ejemplo de array multidimensional podría ser:
<?php
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";
foreach($a as $v1) {
foreach ($v1 as $v2) {
print "$v2n";
}
}
?>
LENGUAJE DE PROGRAMACIÓN PHP
58
En una matriz dinámica sus valores no contienen ningún array como podemos ver a continuación:
<?php
Foreach (array (1, 2, 3, 4, 5) as $v) {
print "$vn";
}
?>
6.6. Break y Continue
“Break” y “Continue” son dos instrucciones que se pueden meter dentro de la sintaxis de cualquiera
de las estructuras anteriores. Son muy prácticas.
Break
Sirve para escapar de cualquier estructura de control: for, while y, como veremos más adelante,
switch. Acepta un parámetro opcional que determina cuántas estructuras de control hay que
escapar.
<?php
$matriz = array ('uno', 'dos', 'tres', 'cuatro', 'para', 'cinco');
while (list (, $contar) = each ($matriz)) {
if ($contar == 'para') {
break;
}
echo "$contar<br>n";
}
?>
LENGUAJE DE PROGRAMACIÓN PHP
59
Continue
Se utiliza dentro del bucle para saltar el resto de esa iteración y pasar a la iteración siguiente.
“Continue” acepta un parámetro opcional que determina cuántos bucles hay que saltar antes de que
continúe con la ejecución.
<?php
$i = 0;
while ($i++ < 5) {
echo "$i<br>";
echo "Fuera<br>";
while (1) {
echo " En el centro<br>";
while (1) {
echo " Dentro<br>";
continue 3;
}
echo "Esto no se imprimirá nunca.<br>";
}
echo "Y esto tampoco se imprimirá.<br>";
}
?>
En el bucle “While” que tienen un “1” dentro, equivale a poner TRUE (verdadero) y se refiere a la
expresión del primer while que tiene que ser menor que 5. Si cambiamos el 1 por un 0 no se
ejecutaría ninguno de los dos bucles y sí los dos echos que están debajo. Realmente la estructura
continue no se suele utilizar mucho.
6.7. Switch
La sentencia “Switch” es una forma distinta y más comprensible para evaluar una variable frente a
multitud de opciones. En muchos casos, queremos comparar la misma variable con infinidad de
expresiones, ejecutando la parte del código correspondiente a la opción elegida.
El uso de la cláusula “break” es necesario, ya que con esta estructura cada vez que se cumple la
condición deseada, se ejecutan el resto de declaraciones. Con “break” lo que conseguimos es salir
fuera del “switch” continuando con la ejecución del programa. Si en vez de “break” pusiéramos
“exit”, el resto del programa no se ejecutaría, ya que se saldría de dicho programa.
La expresión “case” puede ser cualquier expresión que se ajuste a un tipo simple, o lo que es lo
mismo, números enteros o de punto flotante y cadenas de texto.
Esta sentencia es lo mismo que escribir numerosas sentencias “if”, por lo que resulta más ordenado:
if ($i == 0) {
print "i es igual a 0";
}
if ($i == 1) {
print "i es igual a 1";
}
if ($i == 2) {
print "i es igual a 2";
}
LENGUAJE DE PROGRAMACIÓN PHP
60
Por lo tanto, la sentencia “Switch” tiene la siguiente sintaxis:
<?php
$variable = "a";
switch ($variable) {
case "a":
// el código será ejecutado si $variable vale "a"
break;
case "b":
// el código será ejecutado si $variable vale "b"
break;
case "c":
// el código será ejecutado si $variable vale "c"
break;
default:
// este código se ejecutará si no se cumple ninguna condición
}
?>
El uso de la cláusula “break” es necesario, ya que con esta estructura cada vez que se cumple la
condición deseada, se ejecutan el resto de declaraciones. Con “break” lo que conseguimos es salir
fuera del “switch” continuando con la ejecución del programa. Si en vez de “break” pusiéramos
“exit”, el resto del programa no se ejecutaría, ya que se saldría de dicho programa.
Un ejemplo de esta sentencia sería:
<?php
$num = 2;
switch ($num) {
case 0:
print "El valor de num es 0";
break;
case 1:
print "El valor de num es 1";
break;
case 2:
print "El valor de num es 2";
break;
default:
print "El valor de num es distinto a 0, 1 y 2";
}
?>
LENGUAJE DE PROGRAMACIÓN PHP
61
La expresión “case” puede ser cualquier expresión que se ajuste a un tipo simple, o lo que es lo
mismo, números enteros o de punto flotante y cadenas de texto. Aquí no podemos utilizar ni arrays
ni objetos, siempre y cuando no se conviertan intencionadamente a un tipo simple.
6.8. Práctica: Días de la semana
DIAS DE LA SEMANA:
Realizar un programa que según el día de la semana que marquemos, nos diga la actividad que
tenemos que realizar dicho día.
Esta práctica la realizaremos mediante la sentencia “switch”. Por ejemplo, si escribimos jueves el
programa nos deberá mostrar:
<?php
$dia="Jueves";
switch ($dia) {
case "Lunes":
echo "Hoy es lunes y tengo que hacer la compra.";
break;
case "Martes":
echo "Hoy es martes y tengo que recoger a mi hermano.";
break;
case "Miércoles":
echo "Hoy es miércoles y tengo que ver el partido.";
break;
case "Jueves":
echo "Hoy es jueves y tengo que ir al dentista.";
break;
case "Viernes":
echo "Hoy es viernes y tengo descansar un poco.";
break;
LENGUAJE DE PROGRAMACIÓN PHP
62
case "Sábado":
echo "Hoy es sábado y tengo que jugar al fútbol.";
break;
case "Domingo":
echo "Hoy es domingo y tengo que estudiar.";
break;
default:
echo "No ha escrito correctamente el día de la semana.";
}
?>
6.9. Práctica: Buscando una letra
BUSCANDO UNA LETRA:
Realizar un programa que me diga si hay alguna letra “u” en una determinada cadena y en qué
posición se encuentra.
Esta práctica la realizaremos mediante la sentencia “Do…While” y la cadena será “esto es un ejercicio
de repaso”. Nos debe salir una pantalla parecida a la siguiente:
<?php
$texto = "Esto es un ejercicio de repaso.";
$i=0;
do {
$i++;
}while ($texto[$i]!="u" && $i< strlen($texto));
if ($i==strlen($texto))
echo "En el texto no existe ninguna letra u.";
else
echo "La hemos encontrado. Está en la posición $i.";
?>
LENGUAJE DE PROGRAMACIÓN PHP
63
6.10. Práctica: Números divisibles entre 5
NÚMEROS DIVISIBLES:
Elaborar un programa que imprima en pantalla todos los números del 1 al 100 divisibles entre 5 así
como su suma.
La solución sería:
<?php
$suma=0;
for($i=1; $i<=100; $i++)
{
if($i%5==0)
{
echo "$i<BR>";
$suma=$suma+$i;
}
}
echo "La suma total es $suma.";
?>
6.11. Práctica: Valores entre dos enteros
VALORES:
Elaborar un programa que declare dos variables enteras y muestre todos los valores entre ellas.
La solución sería:
<?php
$a=7;
$b=20;
if($b<$a)
{
$aux=$a;
$a=$b;
$b=$aux;
} do
{
echo "$a<BR>";
$a++;
}
while ($a<$b)
?>
LENGUAJE DE PROGRAMACIÓN PHP
64
6.12. Práctica: Tablas de multiplicar
TABLAS DE MULTIPLICAR:
Realizar un programa que muestre las tablas del multiplicar del 1 al 10.
El resultado sería:
<?php
for($i=1; $i<=10; $i++)
{
echo "Tabla del $i<BR>";
for ($j=0; $j<=10; $j++)
{
$m=$i*$j;
echo $i."*".$j."=".$m."<BR>";
}
echo "<BR></P>";
}
?>
Recuerda…
Los bucles “Foreach” se usan para el tratamiento de matrices.
La sintaxis de un bucle “For” es: For (valor_inicial ; valor_final ; incremento/decremento).
En un bucle “Do…While”, la condición se evalúa después de ejecutar el código.
El bucle “While” se ejecuta cuando la condición es verdadera.
La sentencia “Break”, la utilizamos para escapar de cualquier estructura de control.
La sentencia “Continue” puede llevar un parámetro para saber cuántos bucles tiene que saltar, pero
no es obligatorio que lo lleve.
Es más aconsejable utilizar la sentencia “Switch” siempre que queramos evaluar una variable frente a
multitud de opciones.
LENGUAJE DE PROGRAMACIÓN PHP
65
7. FUNCIONES
En el transcurso de esta lección, aprenderemos a crear y a utilizar funciones dentro del lenguaje de
programación PHP.
7.1. Qué es una Función
Una función es un conjunto de instrucciones donde tenemos que procesar variables para obtener el
resultado buscado. Las funciones en PHP son muy fáciles de manejar. Para que la función realice la
tarea determinada, debemos llamar correctamente a la función, definiendo los parámetros y
variables oportunos.
Las funciones suelen ser tremendamente prácticas, puesto que las podremos crear para conectarnos
a una base de datos, crear encabezados de página, pies de páginas, etiquetas, etc.
Una gran ventaja de las funciones es que las podemos llamar en cualquier momento. Al utilizar
funciones en nuestro código, podremos perfeccionar cada una de sus funcionalidades cada vez que
sea necesario, siendo mucho más fácil localizarlas. También podremos utilizar el código que
contengan, llamando a la función cuantas veces haga falta, ya que se pueden utilizar
indefinidamente.
Como todos sabemos, la función debe ser definida dentro del script. Las podemos almacenar en un
archivo distinto, llamado librería, al que invocaremos las veces necesarias desde nuestro script. Para
incluirlo en nuestro programa, empleamos las órdenes require o include:
require("encabezado.php") o include("encabezado.php")
A continuación, vamos a crear un archivo que lo llamaremos “encabezado.php”, en el que
almacenaremos una cabecera para nuestra página. A dicho archivo, lo podremos llamar cuando
queramos en nuestro script:
<?php function crear_cabecera($titulo)
{
$nombre="<HTML>n<HEAD>nt$titulon</HEAD>n";
echo $nombre;
}
?>
Podemos invocar a esta función desde otro archivo distinto como vemos en el siguiente ejemplo:
<?php
include("encabezado.php");
$titulo="Manual de PHP";
crear_cabecera($titulo);
?>
LENGUAJE DE PROGRAMACIÓN PHP
66
7.2. Cómo se crea una Función
Para crear una función debemos poner siempre en el inicio la palabra “function” seguida del nombre
de la función. Entre paréntesis deberemos escribir los valores que vamos a utilizar en nuestra
función. Su sintaxis sería la siguiente:
<?php
function nombre_de_la_función (valores) {
// Código de nuestra función
}
?>
El valor que indicamos dentro del paréntesis ( ) puede ser omitido, pero el paréntesis hay que
escribirlo obligatoriamente.
NOTA: Por otro lado, es lo mismo escribir nombre_de_la_función que NOMBRE_DE_LA_FUNCIÓN, ya
que PHP no distingue entre mayúsculas y minúsculas. Es recomendable escribir las funciones y demás
código de la misma manera, ya que facilita la corrección de los posibles errores de sintaxis que
pudiéramos tener en nuestro código.
Como hemos visto en otras unidades, PHP sí distingue entre mayúsculas y minúsculas. En el caso de
las funciones, escribir mayúsculas y minúsculas es indiferente, ya que no las distingue.
Veamos a continuación un ejemplo de una función:
<?php
function ejemplo () {
echo "esta es una funcion de ejemplo";
}
?>
Cada vez que llamemos a esta función aparecerá en la pantalla el siguiente mensaje “esta es una
función de ejemplo”.
Es importante saber que las funciones no se ejecutan hasta que no sean invocadas.
LENGUAJE DE PROGRAMACIÓN PHP
67
7.3. Cómo se invoca una Función
Para invocar una función, basta con poner el nombre de la función seguido de un punto y coma (;)
como podemos ver aquí:
<?php nombre_de_la_funcion (); ?>
A una función se le puede invocar antes de que sea definida en el documento. Por lo tanto, estos dos
ejemplos son iguales:
<?php
function numerar () {
for ($i=1; $i<=10; $i++) {
echo “$i <br>”;
}
}
numerar ();
?>
//Sería igual que escribir:
<?php
numerar ();
function numerar () {
for ($i=1; $i<=10; $i++) {
echo “$i <br>”;
}
}
?>
Se puede comprobar con el ejemplo, que al invocar una función le podemos pasar una serie de
parámetros externos a nuestra función. De esta forma, podremos definir variables y valores dentro
del paréntesis que va detrás del nombre de la función, como por ejemplo:
function numerar ($x=4,$z=7)
La función utilizará estos dos valores (4 y 7) de forma independiente a las variables $x y $z que
pudieran contener otros valores diferentes en el ámbito externo de la función. Otra forma de asignar
valores a las variables internas de una función es pasar los parámetros por valor, como por ejemplo:
function numerar ($x,$z)
En este último caso, prepararía la función para recibir dos valores pero requeriría que en la llamada a
la función se escribieran, separados por comas, esos dos valores:
numerar (-55,11);
Veamos unos ejemplos para comprenderlo mejor:
Ejemplo 1:
<?php
function calcular ($n=20) {
echo “El resultado de 3*$n en la función es: ”, 3*$n, “<br>”;
echo “El valor de $n dentro de la función es: ”, $n, “<br>”;
}
calcular ();
echo “El valor de $n después de ejecutar la función es: ”, $n,
“<br><br>”;
?>
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP
Lenguaje de Programación PHP

Más contenido relacionado

La actualidad más candente

Arquitectura del sistema operativo windows
Arquitectura del sistema operativo windowsArquitectura del sistema operativo windows
Arquitectura del sistema operativo windows
flaviosimbana07
 
Visual Basic .NET
Visual Basic .NETVisual Basic .NET
Visual Basic .NET
David
 
Lenguaje de-programacion-java script-1
Lenguaje de-programacion-java script-1Lenguaje de-programacion-java script-1
Lenguaje de-programacion-java script-1
Oscar Correa
 
Gestor de contenidos
Gestor de contenidosGestor de contenidos
Gestor de contenidos
alarcon7a
 
¿Que es Microsoft Office?
¿Que es Microsoft Office?¿Que es Microsoft Office?
¿Que es Microsoft Office?
jorgemarin1333
 

La actualidad más candente (20)

buscadores de internet.pptx
buscadores de internet.pptxbuscadores de internet.pptx
buscadores de internet.pptx
 
Front end y Back-end
Front end y Back-end Front end y Back-end
Front end y Back-end
 
Proyecto practicas Pseint
Proyecto practicas PseintProyecto practicas Pseint
Proyecto practicas Pseint
 
Tema 1: ¿Qué es la web? (Desarrollo Aplicaciones Web)
Tema 1: ¿Qué es la web? (Desarrollo Aplicaciones Web)Tema 1: ¿Qué es la web? (Desarrollo Aplicaciones Web)
Tema 1: ¿Qué es la web? (Desarrollo Aplicaciones Web)
 
Cuadro comparativo sistemas operativos
Cuadro comparativo sistemas operativosCuadro comparativo sistemas operativos
Cuadro comparativo sistemas operativos
 
Historia de los navegadores
Historia de los navegadoresHistoria de los navegadores
Historia de los navegadores
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
TALLER DE SISTEMAS OPERATIVOS
TALLER DE SISTEMAS OPERATIVOSTALLER DE SISTEMAS OPERATIVOS
TALLER DE SISTEMAS OPERATIVOS
 
Java script
Java scriptJava script
Java script
 
Arquitectura del sistema operativo windows
Arquitectura del sistema operativo windowsArquitectura del sistema operativo windows
Arquitectura del sistema operativo windows
 
Aplicaciones web
Aplicaciones webAplicaciones web
Aplicaciones web
 
Cuadro comparativo sobre los tipos de sistemas operativos.
Cuadro comparativo sobre los tipos de sistemas operativos.Cuadro comparativo sobre los tipos de sistemas operativos.
Cuadro comparativo sobre los tipos de sistemas operativos.
 
tipos de navegadores
tipos de navegadorestipos de navegadores
tipos de navegadores
 
Visual Basic .NET
Visual Basic .NETVisual Basic .NET
Visual Basic .NET
 
Material para exponer de informatica
Material para exponer de informaticaMaterial para exponer de informatica
Material para exponer de informatica
 
Lenguaje de-programacion-java script-1
Lenguaje de-programacion-java script-1Lenguaje de-programacion-java script-1
Lenguaje de-programacion-java script-1
 
examen de diagnostico web
examen de diagnostico webexamen de diagnostico web
examen de diagnostico web
 
Diapositiva linux
Diapositiva linuxDiapositiva linux
Diapositiva linux
 
Gestor de contenidos
Gestor de contenidosGestor de contenidos
Gestor de contenidos
 
¿Que es Microsoft Office?
¿Que es Microsoft Office?¿Que es Microsoft Office?
¿Que es Microsoft Office?
 

Destacado

Lenguaje de programacion C++ 2
Lenguaje de programacion C++ 2Lenguaje de programacion C++ 2
Lenguaje de programacion C++ 2
David
 
Lenguaje de programacion c#
Lenguaje de programacion c#Lenguaje de programacion c#
Lenguaje de programacion c#
XM Filial de ISA
 
Lenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compiladorLenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compilador
Dunkherz
 
Certificat de soudage SN EN 287-1 Martins
Certificat de soudage SN EN 287-1 MartinsCertificat de soudage SN EN 287-1 Martins
Certificat de soudage SN EN 287-1 Martins
Miro Martins
 
Lenguajes de Programación
Lenguajes de ProgramaciónLenguajes de Programación
Lenguajes de Programación
Sandra Esposito
 
Diagramas de flujo, especificaciones y diseño de procesos
Diagramas de flujo, especificaciones y diseño de procesosDiagramas de flujo, especificaciones y diseño de procesos
Diagramas de flujo, especificaciones y diseño de procesos
Ivan Vera Montenegro
 

Destacado (16)

Lenguaje de programacion C++ 2
Lenguaje de programacion C++ 2Lenguaje de programacion C++ 2
Lenguaje de programacion C++ 2
 
Lenguaje de programacion c#
Lenguaje de programacion c#Lenguaje de programacion c#
Lenguaje de programacion c#
 
Lenguaje de-programacion-c++
Lenguaje de-programacion-c++Lenguaje de-programacion-c++
Lenguaje de-programacion-c++
 
Lenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compiladorLenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compilador
 
Sistema locomotor expo trabajo escritp
Sistema locomotor expo trabajo escritpSistema locomotor expo trabajo escritp
Sistema locomotor expo trabajo escritp
 
Lenguaje de Programación Ruby
Lenguaje de Programación RubyLenguaje de Programación Ruby
Lenguaje de Programación Ruby
 
Java script
Java scriptJava script
Java script
 
TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++
 
Presentación1
Presentación1Presentación1
Presentación1
 
Lenguaje phython
Lenguaje phythonLenguaje phython
Lenguaje phython
 
Certificat de soudage SN EN 287-1 Martins
Certificat de soudage SN EN 287-1 MartinsCertificat de soudage SN EN 287-1 Martins
Certificat de soudage SN EN 287-1 Martins
 
Antracnosis y Lasiodiplodia en Mango
Antracnosis y Lasiodiplodia en MangoAntracnosis y Lasiodiplodia en Mango
Antracnosis y Lasiodiplodia en Mango
 
Todo sobre C#
Todo sobre C#Todo sobre C#
Todo sobre C#
 
Java orientado a objetos
Java orientado a objetosJava orientado a objetos
Java orientado a objetos
 
Lenguajes de Programación
Lenguajes de ProgramaciónLenguajes de Programación
Lenguajes de Programación
 
Diagramas de flujo, especificaciones y diseño de procesos
Diagramas de flujo, especificaciones y diseño de procesosDiagramas de flujo, especificaciones y diseño de procesos
Diagramas de flujo, especificaciones y diseño de procesos
 

Similar a Lenguaje de Programación PHP (20)

Php
PhpPhp
Php
 
Curso php dia1
Curso php dia1Curso php dia1
Curso php dia1
 
Curso TIC de PHP y MSQL
Curso TIC de PHP y MSQLCurso TIC de PHP y MSQL
Curso TIC de PHP y MSQL
 
PHP IUTE
PHP IUTEPHP IUTE
PHP IUTE
 
Php1
Php1Php1
Php1
 
Trabajo especial (php)
Trabajo especial (php)Trabajo especial (php)
Trabajo especial (php)
 
Trabajo especial copy
Trabajo especial   copyTrabajo especial   copy
Trabajo especial copy
 
Php tema 4
Php tema 4Php tema 4
Php tema 4
 
Servidor PHP
Servidor PHPServidor PHP
Servidor PHP
 
Servidor PHP
Servidor PHPServidor PHP
Servidor PHP
 
Manual php
Manual phpManual php
Manual php
 
Código php
Código phpCódigo php
Código php
 
Código php
Código phpCódigo php
Código php
 
15.- Servidor php
15.- Servidor php15.- Servidor php
15.- Servidor php
 
Servidor PHP
Servidor PHPServidor PHP
Servidor PHP
 
Actividad integradora 2
Actividad integradora 2Actividad integradora 2
Actividad integradora 2
 
Investigación Lenguaje Php Eduardo Flores
Investigación Lenguaje Php  Eduardo FloresInvestigación Lenguaje Php  Eduardo Flores
Investigación Lenguaje Php Eduardo Flores
 
Fundamentos de programación con PHP.pdf
Fundamentos de programación con PHP.pdfFundamentos de programación con PHP.pdf
Fundamentos de programación con PHP.pdf
 
Fundamentos de programación con PHP.pdf
Fundamentos de programación con PHP.pdfFundamentos de programación con PHP.pdf
Fundamentos de programación con PHP.pdf
 
Phpmodificada.ppt
Phpmodificada.pptPhpmodificada.ppt
Phpmodificada.ppt
 

Más de Jomicast

Más de Jomicast (20)

Técnicas para la reparación de equipos electrónicos
Técnicas para la reparación de equipos electrónicosTécnicas para la reparación de equipos electrónicos
Técnicas para la reparación de equipos electrónicos
 
Montaje de un termostato electrónico
Montaje de un termostato electrónicoMontaje de un termostato electrónico
Montaje de un termostato electrónico
 
Proyecto BOTTLER
Proyecto BOTTLERProyecto BOTTLER
Proyecto BOTTLER
 
Montaje de un grillo electrónico
Montaje de un grillo electrónicoMontaje de un grillo electrónico
Montaje de un grillo electrónico
 
Medida de condensadores y bobinas
Medida de condensadores y bobinasMedida de condensadores y bobinas
Medida de condensadores y bobinas
 
Montaje de un indicador de la tensión de la bateria
Montaje de un indicador de la tensión de la bateriaMontaje de un indicador de la tensión de la bateria
Montaje de un indicador de la tensión de la bateria
 
Montaje de una sirena de alarma electronica
Montaje de una sirena de alarma electronicaMontaje de una sirena de alarma electronica
Montaje de una sirena de alarma electronica
 
Montaje de un sistema de carga de bateria
Montaje de un sistema de carga de bateriaMontaje de un sistema de carga de bateria
Montaje de un sistema de carga de bateria
 
Montaje de un capacimetro digital
Montaje de un capacimetro digitalMontaje de un capacimetro digital
Montaje de un capacimetro digital
 
Montaje de un interruptor crepuscular
Montaje de un interruptor crepuscularMontaje de un interruptor crepuscular
Montaje de un interruptor crepuscular
 
Montaje de un generador de funciones
Montaje de un generador de funcionesMontaje de un generador de funciones
Montaje de un generador de funciones
 
Montaje de control de tonos y volumen
Montaje de control de tonos y volumenMontaje de control de tonos y volumen
Montaje de control de tonos y volumen
 
Montaje de un amplificador para sonorización
Montaje de un amplificador para sonorizaciónMontaje de un amplificador para sonorización
Montaje de un amplificador para sonorización
 
Montaje de un temporizador de uso general
Montaje de un temporizador de uso generalMontaje de un temporizador de uso general
Montaje de un temporizador de uso general
 
Montaje de un interruptor activado por sonido
Montaje de un interruptor activado por sonidoMontaje de un interruptor activado por sonido
Montaje de un interruptor activado por sonido
 
Montaje de una fuente de alimentacion de laboratorio
Montaje de una fuente de alimentacion de laboratorioMontaje de una fuente de alimentacion de laboratorio
Montaje de una fuente de alimentacion de laboratorio
 
Montaje de un imitador de disparo de arma de fuego
Montaje de un imitador de disparo de arma de fuegoMontaje de un imitador de disparo de arma de fuego
Montaje de un imitador de disparo de arma de fuego
 
Los circuitos hibridos
Los circuitos hibridosLos circuitos hibridos
Los circuitos hibridos
 
Montaje de un detector de movimientos
Montaje de un detector de movimientosMontaje de un detector de movimientos
Montaje de un detector de movimientos
 
El micrófono
El micrófonoEl micrófono
El micrófono
 

Lenguaje de Programación PHP

  • 1. 17 TEMA 16. LENGUAJE DE PROGRAMACIÓN PHP José M. Castillo Castillo
  • 2. LENGUAJE DE PROGRAMACIÓN PHP 1 INDICE DE CONTENIDO TEMA 16. LENGUAJE DE PROGRAMACIÓN PHP. 1. COMENZANDO CON PHP 1.1 Historia de PHP 1.2 Significado de PHP 1.3 Características más importantes de PHP 1.4 Trabajos que podemos realizar con PHP 1.5 Cuándo es conveniente utilizar PHP 1.6 ASP o PHP 1.7 Requisitos para trabajar con PHP 2. INSTALACIÓN DESDE CERO 2.1 Opciones de instalación 2.2 Detalles de la instalación paso a paso 2.3 Instalando EASYPHP 2.4 Iniciar y salir de EASYPHP 2.5 Menú opciones 2.6 Uso del directorio WWW 3. SINTAXIS BÁSICA 3.1 Extensiones 3.2 Delimitadores del código 3.3 Espacios en blanco 3.4 Separación de instrucciones 3.5 Comillas 3.6 Fin de línea 3.7 Construcción de bloques 3.8 Líneas de comentarios 3.9 Mayúsculas y minúsculas 3.10 Inclusión de ficheros externos 3.11 Práctica - mi primer texto 3.12 Práctica - include 4. VARIABLES Y CONSTANTES 4.1 Definición de variables 4.2 Verificación de asignación previa 4.3 Variables predefinidas 4.4 ámbito de las variables 4.5 Variables variables 4.6 Definición de una constante 4.7 Constantes predefinidas 4.8 Práctica - variables 4.9 Práctica - constantes
  • 3. LENGUAJE DE PROGRAMACIÓN PHP 2 5. OPERADORES 5.1 Qué son los operadores 5.2 Operadores de asignación y de concatenación 5.3 Operadores aritméticos 5.4 Operadores de comparación 5.5 Operadores lógicos 5.6 Operadores de incremento-decremento 5.7 Sentencias condicionales 5.8 Práctica - mayor de dos números 5.9 Práctica - carné del polideportivo 5.10 Práctica - valor de variable 5.11 Práctica - ordenar de menor a mayor 6. BUCLES 6.1 Qué es un bucle 6.2 Bucle while 6.3 Bucle do while 6.4 Bucle for 6.5 Bucle foreach 6.6 Break y continue 6.7 Switch 6.8 Práctica - días de la semana 6.9 Práctica - buscando una letra 6.10 Práctica - números divisibles entre 5 6.11 Práctica - valores entre dos enteros 6.12 Práctica - tablas de multiplicar 7. FUNCIONES 7.1 Qué es una función 7.2 Cómo se crea una función 7.3 Cómo se invoca una función 7.4 Funciones para la gestión de archivos 7.5 Funciones para la gestión de directorios 7.6 Retorno de valores 7.7 Práctica - el número mayor 7.8 Práctica - media aritmética 7.9 Práctica - listar directorio
  • 4. LENGUAJE DE PROGRAMACIÓN PHP 3 8. FORMULARIOS 8.1 Conocimientos previos 8.2 Campos de entrada de datos 8.3 Cuadro de texto 8.4 Cuadro de texto con barras de desplazamiento 8.5 Casillas de verificación 8.6 Botón de opción 8.7 Menú desplegable 8.8 Botón de comando 8.9 Campo oculto 8.10 Práctica - libro de visitas 8.11 Práctica - cuestionario 8.12 Práctica - formulario de solicitud de información 9. BASES DE DATOS MYSQL I 9.1 Introducción a MYSQL - FRONT 9.2 Instalando MYSQL – FRONT 9.3 Empezando con bases de datos 9.4 Creación de una base de datos 9.5 Creación de tablas 9.6 Añadir campos a una tabla 9.7 Modificar campos de una tabla 9.8 Borrar campos de una tabla 9.9 Operaciones con los registros de una tabla 9.10 Editor SQL 9.11 Práctica - realizar una base de datos para clientes 10. BASES DE DATOS MYSQL II 10.1 Página principal 10.2 Conexión con la base de datos 10.3 Introducir registros 10.4 Listado de registros 10.5 Borrado de registros 10.6 Modificación de registros 10.7 Práctica - realizar un libro de visitas
  • 5. LENGUAJE DE PROGRAMACIÓN PHP 4 1. COMENZANDO CON PHP Bienvenidos a esta primera lección, donde nos iremos adentrando en el término PHP, en qué consiste este lenguaje de programación y, en su todavía breve historia. Trataremos algunas de sus características más destacadas, de los trabajos en los que puede emplear este lenguaje, y le enumeraremos una serie de funciones aplicables a la actualidad de los entornos Web, las cuales le harán elegir PHP frente a otros lenguajes con más antigüedad como el ASP. 1.1. Historia de PHP PHP es un lenguaje creado por una gran comunidad de personas sin ánimo de lucro. Este sistema fue desarrollado en el año 1994 por Rasmus Lerdorf, se trataba de un CGI escrito en lenguaje C que permitió la interpretación de un número limitado de comandos. En sus orígenes, el sistema se denominó Personal Home Page Tools y adquirió un éxito reconocido, puesto que muchas personas solicitaron a Rasmus el uso de sus programas en páginas propias, demostrando una buena acogida inicial. Tras la aceptación de este primer CGI escrito, Rasmus Lerdorf diseñó un sistema para procesar formularios, al que denominó Form Interpreter (FI), dando como resultado de estas dos originarias herramientas, la primera versión del lenguaje PHP/FI. NOTA: Un CGI, Common Gateway Interface, es un programa que se ejecuta en el servidor, puede utilizarse para tratar información, como pasarela de una aplicación, como base de datos o para generar páginas HTML de forma automática. A mediados del año 1997, se incluyeron nuevas funcionalidades como el soporte a nuevos protocolos de Internet, y también el soporte a un gran número de bases de datos comerciales. Todas estas mejoras consolidaron las bases de PHP versión 3. Los continuos progresos, las nuevas aplicaciones creadas y el valor de las bases de datos de PHP, convierten a su última versión en la más competitiva y rápida hasta ahora, dotándola de más independencia que las anteriores con respecto a los servidores Web. La programación en PHP, junto con el servidor Web Apache, han sido las dos claves fundamentales que han cambiado el enfoque de la creación de las últimas aplicaciones Web. PHP es un lenguaje sencillo y de sintaxis cómoda, y Apache el servidor más utilizado, ya que está basado en un software de código abierto y que funciona sobre cualquier plataforma. Estas características los han llevado a ser utilizados por numerosos grupos de adeptos, que lo emplean a diario en todo tipo de entornos Web alojados desde cualquier parte del mundo. En Internet, como ejemplos claros de entornos PHP, se pueden encontrar desde las más simples páginas personales, páginas comerciales con su pequeño proceso de compra-venta incluido, hasta los complejos sitios Web de las empresas más prestigiosas, que además de tener puntos de ventas presenciales, se están adaptando a los nuevas tecnologías, ampliando su campo de comercio a través de las ventas por Internet. Para ello, utilizan los conocidos carros de la compra y los más avanzados sistemas de seguridad para proteger el pago de sus productos y los datos personales de sus clientes. Asimismo, están a la orden del día, las populares páginas de descarga de ficheros (música, imágenes, vídeos, etc.), que se actualizan rápidamente e identifican a cada uno de sus usuarios gracias a las sesiones en PHP.
  • 6. LENGUAJE DE PROGRAMACIÓN PHP 5 NOTA: No podemos dejar de mencionar el efecto de Internet en la enseñanza. En los últimos años, ha habido un proceso de adaptación entre el aprendizaje y la red. Son muchas las entidades dedicadas a la formación (universidades, centros de enseñanza, colegios, etc.) que han optado por adecuar sus contenidos a los nuevos sistemas de enseñanza para Internet, utilizando la red como soporte para distribuir la formación especializada. Han adaptado sus materias a los nuevos medios, empleando esto como complemento en algunas asignaturas, e incluso, impartiendo estudios completos desde las cada vez más conocidas plataformas e-learning o de teleformación (http://www.uned.es, http://www.us.es, http://www.ucm.es, http://www.uoc.es entre otras). La enseñanza se ha globalizado, existe la posibilidad de llegar a cualquier usuario sin limitaciones geográficas u horarias. No sólo se compite a nivel nacional como antes, la competencia ha traspasado todas las fronteras, lo que implica una mejora continua en la calidad de los productos ofrecidos. Las denominadas plataformas de teleformación son el último avance de los cursos a distancia; implican una formación personalizada, con un seguimiento continuado, detallado y progresivo de los movimientos de cada usuario del curso, perfeccionando el proceso de aprendizaje con contenidos interactivos multimedia (audio, vídeos, simulaciones…) de gran calidad. Hay mayor flexibilidad y personalización a los estudiantes o a trabajadores que desean ampliar conocimientos.
  • 7. LENGUAJE DE PROGRAMACIÓN PHP 6 1.2. Significado de PHP PHP es un lenguaje de programación de estilo clásico, es decir, que utiliza variables, sentencias condicionales, funciones… PHP, Hypertext Preprocessor, se define como un lenguaje interpretado de alto nivel, cuyo código va insertado en las páginas HTML, permitiendo saltar del modo PHP al código HTML dentro de las mismas. Este lenguaje es ejecutado del lado del servidor, lo cual permite acceder a los recursos que tiene el servidor, enviando rápidamente los resultados al navegador en forma de página Web. Al ser PHP un lenguaje que se ejecuta en el servidor, no es necesario que el navegador soporte PHP, pero sí es condición imprescindible para que las páginas PHP funcionen correctamente y que el servidor donde están alojadas soporte PHP. A continuación, le mostraremos un ejemplo de una misma página programada en HTML y su homóloga en PHP. Verá como el código PHP va dentro del HTML sin alterarlo. <? echo' <html> <head> <title>Primera página</title> <body> <p> Buenas, me llamo Ana Gessa </p> </body> </html> ' ?> Ésta es la misma página en modo PHP. <html> <head> <title>Primera página</title> <body> <p> Buenas, <? // Ahora pasamos la misma página a modo PHP $nombre=”Ana”; $apellido=”Gessa”; echo “me llamo $nombre $apellido”; ?> </p> </body> </html> El servidor Web, al soportar PHP, procesará la página de forma secuencial: desde el principio hasta el fin; buscando secciones PHP dentro de los delimitadores del código. En el caso de que las encuentre, las compila y ejecuta mostrando un resultado idéntico a la página HTML.
  • 8. LENGUAJE DE PROGRAMACIÓN PHP 7 Es importante saber que existen dos tipos de lenguajes de programación: del lado servidor y del lado cliente.  Del lado servidor: Es un lenguaje reconocido, ejecutado e interpretado en el mismo servidor, generando un archivo HTML que es enviado al cliente. PHP y ASP, entre otros, pertenecen a este tipo de lenguaje.  Del lado cliente: Es aquel lenguaje que puede ser “dirigido” por el navegador y que no necesita un tratamiento previo. Destacamos: HTML, Java y JavaScript. NOTA: Ambos tienen sus ventajas e inconvenientes. Mientras que el del lado cliente es totalmente independiente del servidor, permitiéndole a sus páginas que puedan ser abiertas desde cualquier sitio; los del lado del servidor son independientes del cliente y como consecuencia de ello son lenguajes menos rígidos y el tiempo que tardan en generar las páginas Web es menor debido a que son scripts almacenados por quien los ejecuta. PHP está basado principalmente en lenguajes como C, C++ y Java con los que comparte toda su sintaxis y semántica, asimilando también características de lenguajes interpretados como Perl y Bash. A nivel general, las principales diferencias entre PHP y C son:  PHP no distingue mayúsculas y minúsculas, salvo en el tratamiento de objetos.  En PHP no se declaran las variables ni tienen un tipo fijo, sino que las variables pueden almacenar valores de todo tipo. Podemos encontrar productos similares de otras grandes empresas, como son: Active Server Pages (ASP), de Microsoft; ColdFusion, de Allaire; y Java Server Pages (JSP), de Sun. PHP es uno de los lenguajes del lado del servidor más extendidos en Internet en los últimos años. Ha tenido muy buena aceptación entre los programadores debido a factores tan determinantes como su gran parecido con C, su potencial y su simplicidad, entre otros. Está específicamente orientado al desarrollo de páginas dinámicas conectadas a bases de datos, mostrando así los contenidos de éstas en las llamadas Interface Web. Un ejemplo claro del uso de PHP con bases de datos son muchas de las páginas con un proceso de compra on-line.
  • 9. LENGUAJE DE PROGRAMACIÓN PHP 8 1.3. Características más importantes de PHP Cabe destacar algunas de las características de PHP, puesto que son las que posicionan a PHP como uno de los lenguajes de programación más utilizados. Éstas son: 1. Velocidad: Este lenguaje goza de una alta velocidad de ejecución, con lo que evita las demoras innecesarias en la máquina. Por lo tanto, no necesita muchos recursos del sistema. 2. Estabilidad: Utiliza un sistema propio de administración de recursos y dispone de un sofisticado método de manejo de variables, consiguiendo así uno de los sistemas más robustos y estables de los existentes. 3. Seguridad: Está provisto de diferentes niveles de seguridad personalizables desde el archivo de configuración .ini, que el programador puede variar según sus necesidades. 4. Simplicidad: Debido a su sencillez, es un lenguaje que permite a los programadores generar código en poco tiempo. Los usuarios habituales de C o C++ pueden utilizar PHP rápidamente. 5. Lenguaje basado en herramientas de software libre: Para programar en PHP, no hay que pagar licencias de ningún tipo, lo que no limita su distribución e incita a los programadores expertos a que contribuyan a mejorarlo. Y por último, cabe acentuar su Conectividad. Es un lenguaje que dispone de una amplia gama de librerías y agregarle extensiones es muy sencillo. Esto permite que este lenguaje sea utilizado en áreas muy diversas, como sería la encriptación, gráficos, XML y otras muchas. Todas estas características, y muchas más que irá identificando a medida que avance en el curso, le mostrarán una amplia variedad de proyectos realizables con PHP, serán motivos relevantes para que cuando programe se decante por este lenguaje ante otros a la hora de trabajar. 1.4. Trabajos que podemos realizar con PHP Con este lenguaje se puede realizar todo aquello que pueda crearse con un script CGI, por ejemplo, generar páginas con contenidos dinámicos, mandar o recibir cookies, procesar los resultados de los formularios, funciones de correo electrónico, gestiones con bases de datos, trabajar con archivos, tratamiento de imágenes… NOTA: Una cookie es un mecanismo que permite al servidor almacenar en el cliente información relativa a la transacción o al usuario. Es importante saber que PHP puede ser utilizado en cualquiera de los principales sistemas operativos del mercado: Linux, variantes de Unix, Microsoft Windows, Mac OS X y algunos más. Soporta la mayoría de servidores Web actuales, Apache, Personal Web Server, iPlanet, Caudium, etc. La mayoría de funciones que hacen de PHP uno de los lenguajes de programación más útiles a la hora de desarrollar son las siguientes:  Tiene acceso y soporta muchas bases de datos: Adabas D, d base, Empress, FiloPro, IBM DB2, INformix, Ingres, Internase, FrontBase, mSQL, MySQL, ODBC, Oracle, PostgreSQL, Solid, SYbase, Veloces, UNIX dbm.  Conectividad con otros servicios, usando HTTP, FTP, COM, SNMP, Sockets, LDAP, etc.  Servicios de correo y noticias: POP, IMAP, SNMP, NNTP y derivados.  Creación de textos y gráficos: XML, HTML, XHTM, PDF, GD, Flash.  Funciones matemáticas.  POSIX: memoria compartida, acceso a ficheros, cronómetros…  Comercio electrónico: Cybercash, CyberMUT, Verisign Pro y CCVS para programas de pago.  Formularios.  Encriptación y compresión: MD5, Gzip, Bzip2…
  • 10. LENGUAJE DE PROGRAMACIÓN PHP 9 Con PHP podrá realizar todo aquello que se plantee, desde una simple calculadora, hasta un calendario, así como pequeñas funciones añadidas a su página Web personal, creación de un auténtico portal de negocios, donde se pueden vender todo tipo de productos con el carrito de la compra, gestionar de manera segura todos los datos de clientes, sacar las estadísticas de ventas mensuales… 1.5. Cuándo es conveniente utilizar PHP Tanto si se desarrolla bajo una plataforma UNIX o Linux, debe elegir entre Perl y PHP. Este último es considerado por muchos programadores más simple a la hora de escribir script, haciéndolo más productivo en proyectos no demasiado grandes. Por supuesto, se pueden utilizar ambos lenguajes simultáneamente. Para entornos de Windows, los competidores más conocidos son ASP y ColdFusion, la elección entre uno de ellos se basa en asuntos más técnicos. ASP junto a IIS es probablemente más estable que PHP con IIS, pero está demostrado que PHP bajo Windows NT es más estable que los otros dos, además de ser más rápido y utilizar menos recursos. 1.6. ASP o PHP Muchos son los debates abiertos sobre cuál de entre estos dos lenguajes es mejor a la hora de aplicarlo en trabajos reales. Es un hecho demostrable el imparable ascenso de PHP frente a otros lenguajes del lado del servidor, y concretamente sobre el ASP “Active Server Pages” de Microsoft. A continuación se enumeran una serie de ventajas del PHP:  Uso libre.  Lenguaje abierto.  Diseñado para la Web.  Multiplataforma.  Multisistema operativo.  Soporte para varios servidores Web.  Soporte nativo para casi cualquier base de datos.  Buena y accesible documentación.  Perfecta integración de Apache + PHP + MySQL.  Modulable.  No depende de un único proveedor de servicios.  Sencillo de aprender y utilizar.  Sintaxis clara y bien definida.  Seguro. PHP también presenta algunas desventajas:  Como desventaja ante el ASP, tiene una peor integración con el paquete Office de Microsoft.  Errores en seguridad, solucionables antes que en otros sistemas.
  • 11. LENGUAJE DE PROGRAMACIÓN PHP 10 1.7. Requisitos para trabajar con PHP Si usted tiene limitado el acceso a Internet y programa de manera local, para visualizar las páginas creadas con PHP necesita instalar un servidor Web como Apache. Necesitará el módulo PHP, que es el responsable de interpretar el código y mostrarlo en el navegador. Si quiere trabajar con bases de datos desde PHP, deberá instalar un gestor de base de datos como MySQL. Para crear las páginas en PHP, con cualquier editor de textos podrá desarrollar y guardar las páginas con extensión .php. Puede realizar la instalación individualmente, o bien puede instalar un paquete preconfigurado como EasyPHP o AppServ, entre otros. Estos paquetes preconfigurados instalan simultáneamente un servidor Apache y el módulo PHP en cualquier sistema operativo, incluido Linux y Windows. Más adelante, trataremos detalladamente estos programas. Una vez instalado todo, cree las páginas PHP y alójelas en su directorio Web, y el navegador interpretará el código sin necesidad de compilar nada, ni de instalar otras herramientas. Si lo que realmente desea es alojar sus páginas .php en Internet, existen dos posibilidades:  Alojar las páginas en un servidor gratuito, el cual puede facilitar un espacio limitado, que llena sus páginas de publicidad variada, y que es posible que no soporte PHP.  Contratar un paquete de alojamiento Web a un proveedor de servicios de Internet (www.yahoo.es, www.ya.com, www.terra.es…), que soporte este tipo de páginas. Si desconoce si el servidor incluye esta posibilidad, consulte con su proveedor. Lo mismo ocurre si desea trabajar con bases de datos MySQL, PostgreSQL, etc. Recuerda… La secuencia correcta para que una página en PHP se ejecute en un servidor es: Navegador, Petición de página, Servidor de Internet, Página PHP, Procesar PHP y Resultado HTML. Es posible realizar la instalación completa de un servidor Apache y PHP a partir de un paquete preconfigurado. C, C++ y Java son lenguajes que está basado PHP. Las características más importantes de PHP son: Software libre, conectividad, velocidad, estabilidad, seguridad y simplicidad. Podemos decir que PHP es un: - Lenguaje abierto, el código fuente está disponible y soporta varios servidores Web. - Multisistema operativo, seguro y de uso libre. - Es sencillo de aprender, seguro y multiplataforma. PHP es un lenguaje reconocido, ejecutado e interpretado en el servidor, y por lo tanto, pertenece del lado del servidor. Para trabajar con PHP se necesita un servidor Web, el módulo PHP y un gestor de bases de datos. Del lado del servidor, significa que es un lenguaje ejecutado e interpretado en el servidor, generando archivos .htm que envía al cliente. La desventaja de PHP frente a ASP es que tiene una peor integración con el paquete Office de Microsoft. PHP está basado en herramientas de software libre que significa que no es necesario pagar licencias de ningún tipo para programar.
  • 12. LENGUAJE DE PROGRAMACIÓN PHP 11 2. INSTALACIÓN DESDE CERO Antes de comenzar a explicar el proceso de instalación en esta lección, es imprescindible conocer la definición de servidor, los requisitos que tiene que cumplir un PC para que funcione como tal y conocer cómo se puede acceder a él y a sus recursos. Un servidor es un PC que proporciona servicios a otros ordenadores. Un PC posee la condición de servidor Web si está conectado a Internet o a una red de área local (Intranet), y a su vez, está dotado de un software específico denominado software de servidor HTTP, que posibilita el acceso desde los PC clientes a los recursos que contiene, ya sean archivos o dispositivos. 2.1. Opciones de instalación Para usuarios más experimentados en la materia, es posible que deseen realizar la instalación paso a paso, es decir, instalar el servidor Apache y el módulo PHP individualmente, y adecuando los ficheros de configuración según sus necesidades. Nosotros trataremos esta opción por encima, comentando algunos de sus pormenores. Nos centraremos más en la instalación de un paquete integrado, como EasyPHP, que reúne todo lo necesario para realizar aplicaciones en PHP con acceso a bases de datos MySQL, sin necesidad de saber nada de la configuración del servidor Apache o del módulo PHP. 2.2. Detalles de la instalación paso a paso Los requisitos mínimos para comenzar a trabajar con PHP son:  Un servidor Apache, que será el que gestione el acceso a las páginas.  El módulo PHP, que es el conjunto de archivos necesarios para interpretar correctamente las páginas con extensión .php.  Y si va a trabajar con bases de datos para crear páginas dinámicas, es conveniente instalar también MySQL, que se encargará de las bases de datos compatibles con PHP. Otras utilidades que pueden servir al programador dependiendo de sus necesidades, son: si el usuario quiere gestionar las bases de datos directamente sin necesidad de utilizar el código PHP, deberá instalar un gestor de bases de datos para crear, modificar y borrar las tablas y los datos con los que trabaje, como phpMyAdmin; algún editor de PHP, como DevPHP y, también es de gran utilidad, algún manual de PHP y MySQL. 2.3. Instalando EasyPHP EasyPHP es un completo paquete de software que permite utilizar en su totalidad el lenguaje PHP y un efectivo uso de las bases de datos. Este paquete incluye la instalación del servidor Apache, del gestor de bases de datos MySQL, una perfecta ejecución del código PHP, así como herramientas de desarrollo para un sitio Web y sus aplicaciones. Proceso de instalación de EasyPHP Para empezar, descargue EasyPHP de su página oficial http://www.easyphp.org. Una vez descargado el fichero easyphp1-7_setup.exe, haga doble clic encima del icono de dicho archivo.
  • 13. LENGUAJE DE PROGRAMACIÓN PHP 12 A continuación, aparecerá un cuadro de diálogo que le preguntará si desea continuar el proceso de instalación; confirme que desea seguir el proceso. Aparecerá un cuadro de diálogo de bienvenida al programa. Haga clic en el botón Next. Marque la opción I accept the agreement, y siga con el proceso a través del botón Next. Si no acepta las condiciones, el programa no le permitirá proseguir con la instalación.
  • 14. LENGUAJE DE PROGRAMACIÓN PHP 13 Emergerá la primera pantalla de información, pulse el botón Next y continúe el proceso de instalación. A continuación, se muestra la opción para ubicar la carpeta EasyPHP1-7, que es una carpeta del programa creada por defecto, y es donde se situarán todos los archivos del software. Fíjese en la parte inferior de la pantalla, donde se indica el espacio en disco que requiere EasyPHP para que pueda ser instalado en su PC. Por defecto, el programa crea la carpeta en Archivos de programa, déjela tal cual. Continúe con el proceso pulsando en el botón Next.
  • 15. LENGUAJE DE PROGRAMACIÓN PHP 14 Aparecerá un cuadro de diálogo informándole de que el directorio C:Archivos de programaEasyPHP1-7 no existe, y le preguntará si desea crearlo. Presione el botón Sí para poder seguir. En la siguiente pantalla, deje la opción que trae por defecto y prosiga con el proceso. Presione el botón Install para dar lugar a que la instalación se complete definitivamente.
  • 16. LENGUAJE DE PROGRAMACIÓN PHP 15 Aparecerá la segunda pantalla de información, haga clic en Next. Para finalizar con la instalación de EasyPHP; desactive, si lo desea, la opción ouvrir la page d'accueil y presione el botón Finish.
  • 17. LENGUAJE DE PROGRAMACIÓN PHP 16 2.4. Iniciar y salir de EasyPHP Para comenzar a trabajar con la aplicación, en primer lugar, es necesario saber cómo acceder a ella, y luego, qué pasos se deben seguir para cerrar el programa. Ejecutar la aplicación Existen varias posibilidades para ejecutar EasyPHP las cuales detallaremos a continuación: 1. Acceda a través del menú Inicio, y siga la ruta: Inicio/Programas/EasyPHP 1.7/EasyPHP. 2. Sabrá que la aplicación se ha ejecutado correctamente si en el Área de notificación de la Barra de tareas aparece el icono de EasyPHP con el punto rojo parpadeando. 3. De igual forma, podrá acceder a la aplicación a través de la ruta: C:Archivos de programaEasyPHP1-7 haciendo clic en easyphp.exe.
  • 18. LENGUAJE DE PROGRAMACIÓN PHP 17 Modificar el idioma que trae por defecto Lo normal es que la instalación de EasyPHP sea en otro idioma diferente del castellano, convertir la opción idioma del programa a éste es muy sencillo. Haga doble clic con el ratón encima del icono del programa; aparecerá en pantalla un cuadro de diálogo con toda la información de EasyPHP. En el menú emergente, elija la opción Spanish, y automáticamente todas las opciones aparecerán en español. Si deja la configuración que trae por defecto, EasyPHP se ejecutará siempre siguiendo los pasos anteriormente descritos. Salir de la aplicación Para abandonar el programa, haga clic con el botón derecho del ratón encima del icono de PHP, y presione la opción Salir. Automáticamente, se cerrará la aplicación.
  • 19. LENGUAJE DE PROGRAMACIÓN PHP 18 2.5. Menú Opciones En este apartado, enumeraremos y definiremos las diferentes opciones que podemos encontrar dentro de la aplicación. Para acceder a ellas, deberá acceder clic con el botón secundario de su ratón encima del icono de EasyPHP. En el menú contextual que aparece, encontramos las siguientes opciones: Ayuda Al pulsar esta opción aparece un submenú con cuatro opciones.  Introducción: Es una guía on-line, que un usuario sin conocimientos previos puede utilizar para comenzar con EasyPHP: instalación, ejecución, etc.  Iniciarse en PHP: Este botón lleva a la página oficial de PHP (http://www.php.net).  FAQ: Nos lleva dentro de la página oficial de EasyPHP al apartado de Preguntas Frecuentes Respondidas.  Acerca de EasyPHP: Al hacer clic encima, surge un menú emergente en el que podemos ver datos técnicos del programa: licencia, versión… Ficheros Log Desde aquí tiene acceso a los errores generados por Apache, MySQL y EasyPHP.
  • 20. LENGUAJE DE PROGRAMACIÓN PHP 19 Configuración A través de esta opción, accederá a las diferentes herramientas de configuración de cada programa. Explorar Esta opción abre el directorio: C:Archivos de programaEasyPHP1-7www.
  • 21. LENGUAJE DE PROGRAMACIÓN PHP 20 Administración Esta página permite, entre otras posibilidades, gestionar la base de datos y administrar los alias. Web Local Visualiza los directorios que hay en la raíz del servidor. Reiniciar Esta opción permite reiniciar Apache y MySQL.
  • 22. LENGUAJE DE PROGRAMACIÓN PHP 21 Detener/Iniciar Esta opción le da la posibilidad de detener Apache y MySQL. Pero si ha detenido la aplicación con anterioridad y quiere reiniciarla, apareceré la opción Iniciar en lugar de Detener. Salir Cierra las aplicaciones. 2.6. Uso del directorio WWW Para que las páginas creadas sean interpretadas correctamente en su navegador, es obligatorio que estén guardadas dentro del directorio C:Archivos de programaEasyPHP1-7www. Una vez iniciado EasyPHP, el servidor Apache está configurado por defecto, para que la página que primero abra en el navegador sea el archivo index.htm, index.html o index.php según la configuración que tenga por defecto. Este archivo se encuentra dentro del directorio www. Cuando abra el navegador, escriba en la Barra de direcciones http://localhost/, y, si no tocamos la configuración por defecto, se abrirá automáticamente el fichero index que tengamos predefinido. Si desea abrir cualquier otro fichero, escriba en la Barra de direcciones http://localhost/nombre_archivo.
  • 23. LENGUAJE DE PROGRAMACIÓN PHP 22 Recuerda… Un servidor es un PC dedicado a gestionar el uso de la red por otros PC o clientes. Para cambiar el idioma que trae por defecto la aplicación EasyPHP haremos doble clic encima del icono de EasyPHP situado en la parte inferior derecha, y seleccionando en el menú desplegable la opción Spanish. En el menú Administración de EasyPHP permite, entre otras, gestionar la base de datos y administrar los alias. Desde el menú Ficheros Log de EasyPHP se tiene acceso a los errores generados por Apache, MySQL y EasyPHP. EasyPHP es un paquete de software que permite utilizar en su totalidad el lenguaje PHP y un efectivo uso de las bases de datos. De una opción se dispone para cerrar EasyPHP. La opción Explorar del menú de EasyPHP abre el directorio C:Archivos de programaEasyPHP1-7www.
  • 24. LENGUAJE DE PROGRAMACIÓN PHP 23 3. SINTAXIS BÁSICA A lo largo de esta lección, nos introduciremos en la sintaxis básica para comenzar a programar en PHP. Es importante familiarizarse con estas nociones iniciales, puesto que son la base de este lenguaje. Tenga en cuenta que PHP es un lenguaje bastante flexible, en vez de forzar a una disciplina al programador, este lenguaje permite mucha libertad a la hora de trabajar, simplemente siguiendo un mínimo de reglas, para evitar posibles errores, conseguirá programar rápida y fácilmente. 3.1. Extensiones Las extensiones de los ficheros en PHP son muy importantes, ya que el servidor HTTP las identifica y decide si debe pasarlo al procesador de PHP o no. Las extensiones que indican que un fichero contiene código en PHP son:  .php3 - es código PHP 3.x.  .php4 - es código PHP 4.x.  .php - es una extensión genérica, y la más utilizada.  .phtml - en desuso. 3.2. Delimitadores del código El código PHP se introduce en el código HTML, pero para que el servidor detecte la parte en PHP de una página, éste tiene que estar delimitado con unas etiquetas especiales que van al principio y al final del código PHP. Los métodos más usados son las etiquetas cortas y las de estilo ASP. La primera fórmula solo funcionará si previamente se han habilitado las etiquetas cortas. Y para que funcione el estilo ASP, hay que habilitar las etiquetas tipo ASP. Las etiquetas canónicas son las más recomendadas, ya que funcionan en la mayoría de los sistemas sin necesidad de configuración especial. Existen cuatro opciones para delimitar el código PHP, éstas son: 1. Etiquetas cortas: <? echo ‘Primer tipo de delimitador en el código PHP'; ?> 2. Etiquetas canónicas: <?php echo ‘Segundo método, y más utilizado; ?> 3. Etiquetas estilos HTML: <script language=”php”> echo ‘Algunos editores solo entienden este delimitador de PHP; </script> 4. Etiquetas estilos ASP: <% echo ‘Método compatible con el código ASP'; %>
  • 25. LENGUAJE DE PROGRAMACIÓN PHP 24 Los métodos más usados son las etiquetas cortas y las de estilo ASP. La primera fórmula solo funcionará si previamente se han habilitado las etiquetas cortas. Esto se consigue a través de la función short_tags(), habilitando la opción de configuración short_open_tags en el archivo de configuración de PHP o compilando PHP con la opción enable-short-tags también en la configuración. Y para que funcione el estilo ASP, hay que habilitar las etiquetas tipo ASP con la opción de configuración asp_tags. EJEMPLO: Un ejemplo práctico del uso del código PHP es: <html> <body> <?php If ( Hour(time)>20 || Hour(time)<4) { echo “Buenas noches.”; } else { echo “Buenos días.”; } ?> </body> </html> NOTA: La instrucción echo seguida de una cadena de texto entrecomillada hace que el PHP escriba en la página Web, mostrada en el navegador, lo contenido en dicha cadena de texto. Dentro de la cadena de texto que sigue a echo, puede insertar cuantas etiquetas HTML desee. 3.3. Espacios en blanco PHP, al igual que HTTP, ignora los espacios en blanco, por lo que resulta equivalente escribir: $valor=5+4; //Es lo mismo que escribir: $valor = 5 + 4; //Y también se puede escribir: $valor = 5 + 4 ; 3.4. Separación de instrucciones En PHP se denominan instrucciones a todo aquel lenguaje recogido dentro de los delimitadores de código. Es necesario el lenguaje C o Pascal. Cada sentencia se considera terminada con un punto y coma. La etiqueta de cierre ?> implica el fin del script. <? echo “Separación de instrucciones” ; ?>
  • 26. LENGUAJE DE PROGRAMACIÓN PHP 25 3.5. Comillas No podemos pasar esta lección sin mencionar las comillas, ya que conociendo la manera de actuar que tienen, evitará la aparición de futuros errores innecesarios. Existen dos tipos de comillas:  Comillas simples (‘ '): Son las que muestran el contenido tal y como está escrito dentro de la cadena. Como consecuencia de ello, las comillas simples son más rápidas, puesto que no pierden el tiempo interpretado. Si queremos almacenar una comilla doble dentro de una cadena formada por comillas simples, lo podemos hacer sin ningún problema, ya que será almacenada como un carácter normal. $variable = ‘Podemos almacenar el carácter “ dentro de unas comillas simples y no ocurre nada'  Comillas dobles (“ ”): Éstas leen dentro de la cadena en busca de variables a interpretar. Los caracteres que empiezan con la barra invertida () son sustituidos por caracteres especiales y los nombres de variables que comienzan por “$” son sustituidos por la cadena que almacenan. Los caracteres especiales más importantes son: o $: sustituye dicho carácter por $. o ”: sustituye dicho carácter por “. EJEMPLO: <?php echo ‘Esto es una cadena normal dentro de unas comillas simples. No paro en leer lo que contengo, simplemente lo muestro.'; echo “A mí me están leyendo sin pasar nada por alto por si tengo algo que interpretar.”; ?> NOTA: Como hemos dicho antes, PHP ignora los espacios en blanco. En este caso, sólo respeta, los que haya en el interior de las comillas, ya sean simples o dobles, puesto que muestra lo que está escrito tal cual es.
  • 27. LENGUAJE DE PROGRAMACIÓN PHP 26 3.6. Fin de línea PHP ignora cualquier carácter de espaciado presente en el código, incluyendo espacios, tabuladores y saltos de línea, a excepción de si se encuentra dentro de una cadena de texto. En PHP, el fin de una sentencia se marca con punto y coma (;), al igual que en el lenguaje C o en Pascal. EJEMPLO: Ejemplo práctico de textos equivalentes: <?php echo ‘Estos dos textos se mostrarán iguales en el navegador'; echo ‘Estos dos textos se mostrarán iguales en el navegador'; ?> 3.7. Construcción de bloques Aunque en otros lenguajes de programación, como en ASP, no afecta que una misma función o variable esté escrita en mayúscula o minúscula, ya que siempre será interpretada de la misma manera. En PHP, un detalle a tener en cuenta es que sí se distingue entre mayúsculas y minúsculas, puesto que repercute en el resultado final dependiendo del caso:  En las variables, diferenciar entre mayúsculas y minúsculas es muy importante.  En los nombres de funciones y en construcciones del lenguaje, PHP no es sensitivo a diferenciar entre mayúsculas y minúsculas. Ya sabemos, que las sentencias no pueden ser combinadas, así que debemos poner una sucesión de sentencias agrupadas todas ellas mediante el uso de llaves {}. Por ejemplo, si queremos que se ejecuten varias sentencias al mismo tiempo, debemos agruparlas de la siguiente manera: if ( 5 == 2 + 3 ) { print ( “ Correcto, el resultado es 5.<br> ” ) ; print ( “ Pero no te equivoques. <br> ” ) ; } NOTA: Una cosa muy importante es tener en cuenta el sangrado del código, ya que resulta muy útil a la hora de comprender los programas y quedan mejor estructurados.
  • 28. LENGUAJE DE PROGRAMACIÓN PHP 27 3.8. Líneas de comentarios Los comentarios son anotaciones dentro del código PHP que sirven para facilitar la comprensión del código por parte de los lectores, y no se muestran en pantalla porque el intérprete de PHP lo primero que hace es quitar todos los comentarios del programa. Los comentarios en PHP están heredados de lenguajes como “C”, “C++” y shell de Unix. Hay tres maneras de introducir comentarios en el código. Para comentarios en una sola línea existen dos posibilidades: colocar // o # al comienzo de la línea. Para varias líneas de comentario, PHP utiliza: /* al comienzo de la primera línea. */ al final de la última línea. /* Comentario estilo C. Este comentario es multilínea otra línea más del mismo comentario */ // Comentarios estilo C++. Son solo para una sola línea y es el más utilizado. # Comentario estilo Bash/Perl. Cubre solo hasta el fin de línea. NOTA: Los comentarios son muy útiles para recordar anotaciones referentes al código utilizado en el momento de programar cada página, así en el futuro, será más fácil recordar la finalidad de cada parte del código de las páginas PHP para posibles modificaciones y futuras actualizaciones. NOTA: Los comentarios estilo C o multilíneas no pueden anidarse, esto suele ocurrir cuando se comentan grandes bloques de código. Si los anidáramos por equivocación, PHP dará un error. 3.9. Mayúsculas y minúsculas Aunque en otros lenguajes de programación, como en ASP, no afecta que una misma función o variable esté escrita en mayúscula o minúscula, ya que siempre será interpretada de la misma manera. En PHP, un detalle a tener en cuenta es que sí se distingue entre mayúsculas y minúsculas, puesto que repercute en el resultado final dependiendo del caso: - En las variables, diferenciar entre mayúsculas y minúsculas es muy importante. - En los nombres de funciones y en construcciones del lenguaje, PHP no es sensitivo a diferenciar entre mayúsculas y minúsculas.  En las variables, diferenciar entre mayúsculas y minúsculas es muy importante. <?php $numero=1947 print “El año elegido es $numero.”; // Mostrará en pantalla: El año elegido es 1947. print “El año elegido es $Numero.”; // Mostrará en pantalla: El año elegido es . ?>
  • 29. LENGUAJE DE PROGRAMACIÓN PHP 28  En los nombres de funciones y en construcciones del lenguaje, PHP no es sensitivo a diferenciar entre mayúsculas y minúsculas. Es indiferente que se escriba la función PRINT() o print(), puesto que el resultado será el igual. <?php $numero=1947 print “El año elegido es $numero.”; // Mostrará en pantalla: El año elegido es 1947. PRINT “El año elegido es $numero.”; // Mostrará en pantalla: El año elegido es 1947. ?> 3.10. Inclusión de ficheros externos Una forma muy útil de agregar código PHP a nuestro programa es insertando dicho código en otro fichero e invocarlo mediante las funciones include() y require(). Existen dos tipos de ficheros externos, éstos son: Include() Con este fichero llamamos a otro fichero que tendremos creado. Así podremos ahorrarnos mucho código a la hora de escribir nuestro programa. En caso de error, producirá un “Warning”, por lo que se cargará la página, pero con ese error en ella. Require() Este fichero sirve para incluir bibliotecas de funciones. Una biblioteca es un archivo que almacena el código compilado de otras funciones. En caso de error produce un “Error fatal”, por lo que la carga de la página quedará interrumpida.
  • 30. LENGUAJE DE PROGRAMACIÓN PHP 29 A continuación, veremos un ejemplo: <HTML> <HEAD> <TITLE>Ficheros></TITLE> <?php require (“$libdir/conexion.php”); require (“$libdir /date.php”); require (“$libdir /carrito.php”); require (“$libdir /globals.php”); ?> </HEAD> <BODY> <?php include (“inicio.html”); ?> // Aquí iría el resto del código HTML y PHP <php include (“fin.html”); ?> </BODY> </HTML> 3.11. Práctica: Mi primer texto Realizar un programa que muestre este texto por pantalla: “Este texto es un ejemplo muy fácil y seguramente lo hagamos bien. Si no es así, debemos repasar la lección.”. Código: <?php echo “Este texto es un ejemplo muy fácil y seguramente lo hagamos bien. Si no es así, debemos repasar la lección.”; ?> Guardarla como: practica.php
  • 31. LENGUAJE DE PROGRAMACIÓN PHP 30 3.12. Práctica: Include INCLUDE: Realizar un programa que muestre el mismo texto de la práctica anterior utilizando el mismo archivo. <?php include(“practica.php”); ?> Guardarla como: practica2.php Recuerda… Si habilitamos la opción “short_tags()” conseguimos que funcione la fórmula de etiquetas cortas. Tanto en las variables como en las funciones, PHP distingue entre mayúsculas y minúsculas, en las variables sí las distingue, pero no en las funciones Las diferencias entre poner comillas dobles o comillas simples en PHP es que las comillas simples muestran el contenido tal y como está escrito, y las dobles buscan variables a interpretar. Para delimitar un código PHP se hace con < ? [código PHP] ? >, dentro del código HTML. Se suele poner una doble barra vertical “//”, en el código PHP, para poner comentarios en nuestro código. Con el fichero externo, require(), podremos incluir bibliotecas de funciones. PHP ignora los caracteres de espaciado presentes en el código, ya sean tabuladores como también saltos de línea. Las etiquetas canónicas son las más recomendadas para utilizar en PHP.
  • 32. LENGUAJE DE PROGRAMACIÓN PHP 31 4. VARIABLES Y CONSTANTES En esta lección, le explicaremos detalladamente las variables y las constantes. Hablaremos de las variables predefinidas, de sus usos y características. Tenga presente a la hora de afrontar esta lección, que éstos son conceptos esenciales que debe dominar desde el inicio para controlar la programación en PHP. 4.1. Definición de variables Las variables son una parte fundamental en todos los lenguajes de programación. Se definen como la principal manera de almacenar valores en el medio de un programa. Con las variables puede realizar operaciones, puede hacer comparaciones entre sí y puede variar el flujo del programa en función de su valor en ese momento. Las características más importantes que debe tener siempre presente de las variables son:  Todas las variables en PHP comienzan con el símbolo “$”. $variable  Son asignadas con el operador ‘='. La variable a la izquierda del operador y la expresión a evaluar a la derecha. $variable1 = “ana” / $variable2 = 8  No necesitan ser declaradas antes de su uso, es decir, no necesitamos decirle al programa si una variable es una cadena o un número entero, ya que PHP se encargará de definirla por sí mismo.  No tienen un valor intrínseco, sino que toman el tipo del último valor asignado.  Las variables que se utilizan antes de ser asignadas tienen un valor por defecto.  Las variables hacen distinción entre las mayúsculas de las minúsculas. $Variable es distinta de $variable. Ejemplo de diferentes tipos de variables: <?php $variableCadena = "Variable"; $variableNumero = 57; $variableDecimal = 8.5; ?> El valor de las variables Los valores de las variables cambian continuamente, pero siempre serán iguales al último valor fijado. En PHP, las variables se asocian a un contenido del tipo que sea, y dichas variables se modifican cuantas veces lo haga su contenido. EJEMPLO: $variable = “Cadena de texto”; $variable = 6; // Ahora la variable es un entero $variable = 5,7 * $variable; // Ahora la variable es un float $variable = nueva funcion(); // Ahora la variable es un objeto
  • 33. LENGUAJE DE PROGRAMACIÓN PHP 32 Referencias En PHP las variables pueden tener dos o más nombres diferentes para un mismo dato. Para definir una referencia, se utiliza en carácter “&” delante de la variable referenciada: $alias = &$variable Así, se puede acceder al mismo dato de la memoria con $alias o con $variable indiferentemente. Todas las modificaciones que se hagan sobre una u otra repercuten en el mismo dato. Tipos de variables Mientras que en C++ la declaración de variables se puede realizar en cualquier parte del programa, no necesariamente al principio del mismo, pero siempre hay que declararlas; en PHP no es necesario definirlas antes de utilizarlas, si no que van adquiriendo los diferentes valores que se le dan a lo largo del programa. PHP gestiona las variables de manera automática y modifica los tipos de acuerdo con los valores que va tomando durante la ejecución del script. Las variables pueden ser de 3 tipos: 1. Enteras (tipo Integer): Son todas aquellas variables con un valor numérico comprendido entre - 231 y 231, PHP los interpreta como tipo Integer. 2. De coma flotante (tipo Double): Se consideran a las variables que sobrepasan el intervalo numérico del tipo Integer, con lo que PHP convierte automáticamente la variable en tipo Double. 3. Cadenas (tipo String): Son todas las variables a las que se le asigna como valor una cadena de caracteres. Integer est velit, rhoncus commodo leo eu, pellentesque pretium diam. TIPOS DE VARIABLE Tipo Definición Ejemplo Integer Para valores numéricos comprendidos entre -231 y 231. $a=2547896 Double Para valores que sobrepasen el intervalo numérico del tipo Integer. $a=2.5 String Para valores entre comillas, ya sean números o letras. $a=”palabra” o $a=” 57” NOTA: Existe una función que devuelve una cadena de caracteres con el tipo de las variables que contiene, esta función es gettype(variable). Y siempre devolverá los tipos Integer, Double o String. $variable = “cadena”; echo (gettype($variable)); Mostrará en pantalla String
  • 34. LENGUAJE DE PROGRAMACIÓN PHP 33 Forzando los tipos de las variables En PHP se pueden forzar los tipos de las variables, es decir, se puede asignar un determinado tipo a una determinada variable, independientemente de su valor real.  Forzado de una variable a tipo Integer Se consigue anteponiendo a su valor una de estas expresiones: (Integer) o (int). Un ejemplo sería: $variable=((Integer)3.8) o $variable=((int)3.8)  Forzado de una variable a tipo Double Se obliga a la variable anteponiéndole a su valor una de estas expresiones: (double) o (real) o (float). $variable=((double)57) o $variable=((real)57) o $variable=((float)57)  Forzado de una variable a tipo String Se obtiene introduciendo antes que el valor la expresión (string). $variable=((string)57) NOTA: Existe otra posibilidad de forzar el tipo de las variables, esto se consigue con la instrucción settype (variable,tipo). La cadena tipo debe contener uno de los siguientes valores Integer, Double o String. Para convertir a tipo entero una variable haríamos: ($variable,Integer) La función settype realiza la conversión y devuelve un valor verdadero o falso. Operaciones con diferentes tipos de variables PHP permite realizar operaciones aritméticas con los tres tipos de variables. Pero tenemos que tener en cuenta las siguientes consecuencias:  Al operar con dos Integer (enteros), si el resultado está dentro del rango de los enteros, devuelve un Integer.  Si opera con dos Integer y el resultado sobrepasa el rango de los Integer, automáticamente convierte el valor en Double (coma flotante).  Si opera un Integer con una variable Double, dará como resultado Double.  Una variable String (cadena) opera como los Integer. Si hay caracteres numéricos al comienzo los extrae hasta que aparezca un punto o un carácter no numérico y los opera como enteros.  Si una cadena no contiene caracteres numéricos al principio, al operar con ella toma el valor numérico como cero.
  • 35. LENGUAJE DE PROGRAMACIÓN PHP 34 Vectores Los vectores se utilizan para guardar, manejar y operar grupos de variables. Por ejemplo, vamos a escribir en un archivo .php el siguiente código: <?php $a[0]=5; $a[1]=8; $a[2]=2; echo "$a[0],$a[1],$a[2]"; ?> Otra forma de declarar vectores es la siguiente: <?php $v=array(a=>”Sevilla”,b=>”Huelva”,c=>”Granada”); echo “$v[a], $v[b], $v[c]”; ?> 4.2. Verificación de asignación previa Podemos verificar si una variable ha sido anteriormente asignada con la función IsSet () de la siguiente manera: if (IsSet ($variable) ) print (“el valor de la variable es $variable”); else print (“no se le ha asignado ningún valor a la variable”); 4.3. Variables predefinidas PHP utiliza una serie de variables predefinidas que facilitan información de gran utilidad. Muchas de estas variables no están completamente documentadas, puesto que dependen de en qué servidor se esté ejecutando, la versión y configuración del mismo, además de otros factores. Tenga en cuenta, que el contenido de las celdas donde aparecería el resultado de las variables predefinidas variarán dependiendo del servidor al que acceda y a los parámetros de configuración que tenga asignados. Con estas variables, podrá conocer las IP del visitante, el navegador que utiliza, el nombre del proveedor, etc. Para que las muestre en pantalla, deberá llevar la función echo delante de la variable. Para poder visualizar en pantalla la información que estas variables son capaces de mostrar, es importante que en el fichero php.ini esté el valor register_globals=ON. A continuación le indicamos algunas de estas variables predefinidas, y le especificamos la información que muestran.
  • 36. LENGUAJE DE PROGRAMACIÓN PHP 35 Variables predefinidas:  GATEWAY_INTERFACE: Indica qué revisión de la especificación CGI está usando el servidor.  SERVER_NAME: Muestra el nombre del servidor en el que se ejecuta el script de PHP.  SERVER_SOFTWARE: Describe la cadena de identificación del servidor que aparece en las cabeceras al responderse a las peticiones.  SERVER_PROTOCOL: Da el nombre del protocolo a través del que se solicitó la página.  REQUEST_METHOD: Nos dice el método de petición que se utilizó para ir a la página.  QUERY_STRING: Muestra la cadena de petición con la que se accedió a la página.  DOCUMENT_ROOT: Revela el directorio raíz del documento bajo que se ejecuta el script, tal y como está definido en el fichero de configuración del servidor.  HTTP_ACCEPT: Enseña los tipos MIME que el cliente puede recibir.  HTTP_ACCEPT_CHARSET: Indica cuáles son los contenidos de la cabecera Accept-Charset de la petición actual.  HTTP_ENCODING: Permite ver los contenidos de la cabecera Accept-Encoding de la petición actual.  HTTP_ACCEPT_LANGUAGE: Da los contenidos de la cabecera Accept-Language de la petición actual.  HTTP_CONNECTION: Enseña el tipo de conexión HTTP que está en uso. Generalmente Keep- Alive, esto indica que el servidor no debe cerrar la conexión con el cliente.  HTTP_HOST: Describe los contenidos de la cabecera Host de la petición actual.  HTTP_REFERER: Revela la dirección de la página desde la que el navegador accedió a la página actual.  HTTP_USER_AGENT: Muestra desde qué navegador se está accediendo para ver la página.  REMOTE_ADDR: Permite visualizar la dirección IP desde la que el usuario está viendo la página actual.  REMOTE_PORT: Enseña el puerto que se está utilizando en la máquina del usuario para comunicarse con el servidor Web.  gethostbyaddr("$REMOTE_ADDR"): Indica qué puerto se está usando en la máquina del usuario para comunicarse con el servidor Web.  SCRIPT_FILENAME: Describe la vía de acceso absoluta del script que se está ejecutando.  SERVER_ADMIN: Da el valor que se haya dado a la directiva SERVER_ADMIN (en Apache) en el fichero de configuración del servidor Web.  SERVER_PORT: Muestra el puerto del equipo servidor que está usando el servidor Web para la comunicación.  SERVER_SIGNATURE: Es una cadena que contiene la versión del servidor y el nombre del servidor virtual que es añadida a las páginas generadas por el servidor si está característica está activa.  SCRIPT_NAME: Revela la vía de acceso basada en el sistema de ficheros del script en cuestión, después de que el servidor haya hecho la conversión virtual-a-real.  REQUEST_URI: Indica la URI que se dio para acceder a esta página.  PHP_SELF: Nos dice el nombre del fichero que contiene el script que se está ejecutando, relativo al directorio raíz de los documentos. Normalmente, si utiliza un servidor gratuito para alojar sus páginas .php, no tendrá privilegios para modificar el archivo de la configuración porque el valor register_globals estará en OFF. Si esto es así, no podrá visualizar las variables predefinidas. Para poder verlas, bastará con que modifique la manera de llamar a las variables e introduzca el nombre de la variable en el campo de nombre de un array asociativo.
  • 37. LENGUAJE DE PROGRAMACIÓN PHP 36 Donde antes se ponía el nombre de la variable, ahora se pone $HTTP_SERVER_VARS*‘nombre de la variable']. Un ejemplo claro sería: register_globals=ON register_globals=OFF GATEWAY_INTERFACE $HTTP_SERVER_VARS*‘GATEWAY_INTERFACE'+ SERVER_NAME $HTTP_SERVER_VARS*‘SERVER_NAME'+ Si se decanta por invocar siempre las variables predefinidas de esta forma, le servirá tanto para register_globals=ON como para register_globals=OFF, de la configuración del php.ini. NOTA: Para la versión PHP 4.2.0 o superior, se incorporan entre otras la variable $_SERVER, que tiene la misma función que $HTTP_SERVER_VARS, pero con un valor añadido, $_SERVER tiene la característica de ser una variable superglobal. Anteriormente, para utilizar una variable dentro de una función era imprescindible definirla en esa función como global, pues a partir de la versión PHP 4.2.0, la variable $_SERVER define automáticamente como global cualquier función. 4.4. Ámbito de las variables El ámbito de una variable es el contexto donde la variable está definida. La mayoría de las variables PHP solamente tienen un ámbito simple, el cual también abarca los ficheros incluidos y los requeridos. Las variables pueden ser:  Ámbito global: La variable está presente en todas las partes del script, y puede ser utilizada en cualquier momento. Para declarar una variable de ámbito global, se puede utilizar la palabra global, aunque sólo con definirla fuera de cualquier función ya se le está aplicando este ámbito.  Ámbito local: La variable sólo existe y opera dentro de una función concreta, no puede ser accesible por el script en general ni por la demás funciones. En cualquier caso, dentro de las funciones definidas por el usuario existe un ámbito local a la función. Cualquier variable que se use dentro de una función estará limitada al ámbito local de la función. Un ejemplo de todo esto puede ser: <?php $x = 1; /* variable global */ function Prueba() { echo $x; /* referencia a la variable local */ } Prueba(); ?>
  • 38. LENGUAJE DE PROGRAMACIÓN PHP 37 El ejemplo anterior no producirá salida, puesto que la orden “echo” usa una versión local de la variable $x, a la cual no se ha asignado ningún valor en su ámbito. Seguramente, no notemos que hay un pequeño contraste con el lenguaje C, y es que en las variables globales están disponibles automáticamente dentro de la función siempre que sean sobrescritas por una definición local. Sin embargo, esto puede acarrear problemas, que podremos cambiar variables globales inesperadamente. En PHP, las variables globales deben ser declaradas globales dentro de la función si van a ser utilizadas dentro de dicha función. Con el siguiente ejemplo se verá claramente: <?php $num1 = 2; $num2 = 4; function Suma() { global $num1, $num2; $num2 = $num1 + $num2; } Suma(); echo $num2; ?> Pero en este caso, el ejemplo anterior producirá la salida "6". Al declarar “$num1” y “$num2” globales dentro de la función, las referencias que realicemos a dichas variables se referirán a la versión global. Una de las características más importantes del ámbito de las variables es la variable “static”. Una variable estática puede existir sólo en el ámbito local de la función y no pierde su valor cuando la ejecución del programa abandona este ámbito. Lo podremos ver más claro en el siguiente ejemplo: <?php function Prueba () { static $var = 0; echo $var; $var++; } ?> A partir de ahora, cuando llamemos a la función Prueba(), se representará el valor de “$var” y se incrementará. Las variables estáticas también suministran una forma de manipular funciones recursivas. La función recursiva es aquélla que se llama a sí misma. Debemos tener cuidado cuando escribamos una función recursiva, puesto que puede suceder que se llame a sí misma indefinidamente. Nos tenemos que asegurar de implementar de una forma adecuada para terminar la recursión. La función del siguiente ejemplo cuenta recursivamente hasta 5, usando la variable estática “$a” para saber cuándo parar: <?php function Prueba() { static $a = 0; $a++; echo $a; if ($a < 5) { Prueba(); } $a--; } ?>
  • 39. LENGUAJE DE PROGRAMACIÓN PHP 38 4.5. Variables variables A menudo, se suele usar lo que se conoce con el nombre de “variables variables”. Es decir, son nombres de variables que pueden establecerse y usarse dinámicamente. Por ejemplo, una variable normal se establece con una sentencia de la siguiente manera: <?php $variable = "hola"; ?> En el caso de una variable variable, toma el valor de una variable y lo trata como el nombre de una variable. En el ejemplo anterior, la variable “hola” se puede usar como el nombre de una variable usando “$$”, como por ejemplo: <?php $$variable = "mundo"; ?> A partir de ahora, ya tenemos definidas y almacenadas dos variables en el árbol de símbolos de PHP: una sería $variable, que contiene la cadena "hola", y la otra sería $hola, que contiene la cadena "mundo". Por lo tanto, estas dos sentencias producen el mismo resultado: “hola mundo”. <?php echo "$variable ${$variable}"; ?> <?php echo “$variable $hola”; ?> 4.6. Definición de una constante En PHP tenemos que definir las constantes utilizando la función define(), cuya declaración es: define(“nombre”, “valor” [, noMayusculas]) Donde nombre es el nombre que le damos a la constante, valor su valor, y el campo opcional noMayusculas indica si está a 1 que podemos acceder a la variable independientemente con mayúsculas o minúsculas, mientras que si está a 0 (valor por defecto) sólo podremos acceder a ella de la misma forma que la hayamos definido. Las diferencias existentes entre las constantes y las variables en PHP son muy claras:  No llevan el símbolo del dólar delante.  Puede accederse a ellas desde cualquier parte del código donde han sido definidas, sin restricciones de ámbito como en las variables.  No pueden ser redefinidas o borradas una vez definidas.  Sólo pueden contener valores escalares, no vectores.
  • 40. LENGUAJE DE PROGRAMACIÓN PHP 39 Un ejemplo de declaración y uso de constantes en PHP sería: <?php define("CONSTANTE", "Hola mundo."); echo CONSTANTE; // muestra "Hola mundo." ?> 4.7. Constantes predefinidas En PHP existen constantes predefinidas que no requieren de la función define (“nombre”,”valor”). Éstas son:  __FILE__: Recoge el nombre del archivo de comandos que se está ejecutando actualmente y también la ruta completa de su ubicación en el servidor.  __LINE__: Registra el número de línea, también considera las líneas en blanco dentro del archivo PHP que está siendo interpretado en la actualidad. Si se usa dentro de un archivo incluido o requerido, entonces se da la posición dentro del archivo incluido. Es una constante muy útil, puesto que con ella se pueden depurar las páginas PHP. NOTA: No olvide, que tanto la constante FILE como LINE llevan dos rayas delante y otras dos detrás.  PHP_VERSION: Recoge la versión PHP en uso por el servidor.  PHP_OS: Indicará información del sistema operativo que utiliza el servidor en el cuál se está interpretando el fichero PHP.  TRUE: Valor verdadero.  FALSE: Valor falso.  E_ERROR: Denota un error distinto de un error de interpretación del cual no es posible recuperarse.  E_WARNING: Denota una condición donde PHP reconoce que hay algo erróneo, pero continuará de todas formas; pueden ser capturados por el propio archivo de comandos.  E_PARSE: Indicará que el intérprete encontró sintaxis inválida en el archivo de comandos, y que la recuperación no es posible.  E_NOTICE: Ocurrió algo que pudo ser o no un error. La ejecución continúa. Los ejemplos incluyen usar una cadena sin comillas como un índice "hash", o acceder a una variable que no ha sido inicializada.
  • 41. LENGUAJE DE PROGRAMACIÓN PHP 40 Las constantes E_* se usan típicamente con la función error_reporting() para configurar el nivel de informes de error. <HTML> <TITLE>EJEMPLO</TITLE> </HEAD> <BODY> <?php // La constante del sistema __FILE__ nos devolverá // el nombre del fichero que se está interpretando // actualmente. En este caso nos devolverá ejemplo.php // y también su path. echo "La ruta completa de este fichero es: "; echo __FILE__; // La constante del sistema __LINE__ nos devolverá // el número de línea que se está interpretando y // también cuenta las líneas en blanco // cuenta las líneas y verás que devuelve ... 21. echo "<br>Esta es la línea: ",__LINE__, "del fichero"; echo "<br>Estamos utilizando la versión: ",PHP_VERSION, " de PHP"; echo "<br>El PHP se está ejecutando desde el sistema operativo: ",PHP_OS; ?> </BODY> </HTML> 4.8. Práctica: Variables VARIABLES: Realizar una función en la cual utilicemos una variable definida fuera de dicha función. <?php $num = 5; function sumar($num){ $suma = ($num + 25); echo $suma; } sumar($num); ?>
  • 42. LENGUAJE DE PROGRAMACIÓN PHP 41 4.9. Práctica: Constantes CONSTANTES: Realizar un programa que cumpla los siguientes requisitos: 1. El título de la página será “CONSTANTES”. 2. Deberá mostrar la ruta del fichero, la versión de PHP que estamos utilizando y el sistema operativo utilizado. 3. Deberemos incluir comentarios. 4. Crear una constante, la cual nos deberá mostrar su nombre y primer apellido. <HTML> <TITLE>CONSTANTES</TITLE> </HEAD> <BODY> <?php define (“nombre”,”Mi nombre es Manolo García”); echo __FILE__; //mostrará la ruta del fichero. echo PHP_VERSION; //nos muestra la versión de PHP que estamos utilizando. echo PHP_OS; //nos muestra el sistema operativo que estamos utilizando. echo nombre; //nos mostrará nuestro nombre y apellido. ?> </BODY> </HTML> Recuerda… Con el símbolo de “$” comienzan todas las variables en PHP. Se puede definir una variable global fuera de una función, la podremos utilizar dentro de dicha función aunque no la declaremos como “global”. Una variable estática existe solo en el ámbito local de una función. Cuando hablamos de constantes predefinidas, para conocer el nombre del archivo que se está ejecutando en este momento, está se escribe __FILE__, y tenemos que poner obligatoriamente dos rayas delante y otras dos detrás de la palabra FILE. Las constantes en PHP se definen utilizando la función define(). En cuanto al valor de las variables, si asignamos dos variables con el mismo nombre, el valor de la variable será el último valor fijado. Los valores asignados a las constantes se mantienen, incluso cuando las constantes son invocadas desde una función. Cuando los valores de una constante son numéricos, no es necesario escribirlos entre comillas.
  • 43. LENGUAJE DE PROGRAMACIÓN PHP 42 5. OPERADORES Durante esta lección aprenderemos que las variables pueden ser creadas, modificadas y comparadas entre sí por medio de los “operadores”. También nos instruiremos en cómo listar los operadores más importantes. 5.1. Qué son los operadores Los operadores se definen como símbolos que expresan operaciones que se pueden realizar entre dos o más elementos, a éstos los llamaremos operandos. Por medio de dichos operadores, las variables pueden ser creadas, modificadas y comparadas entre sí. 5.2. Operadores de asignación y de concatenación Los operadores de asignación y de concatenación son los más simples. Pero también son los más usados por los programadores.  Operador de asignación: El operador de asignación que se utiliza es el símbolo igual (=) que nos permite asignar valores a las variables. Veamos un ejemplo: <?php $variable = 1582; $departamento = "desarrollo"; $var1 = var2 = 0; ?>  Operador de concatenación: El operador de concatenación que utilizamos es el punto (.) y con él podemos unir los valores de las variables. Por ejemplo: <?php $nom = "fernando"; $ape = "altea"; $completo = $nom." ".$ape; // concatena los dos valores y añade un espacio ?> También podemos utilizar el operador punto igual (.=) para asignar un dato al valor anterior: <?php $cadena = "pulsera"; $cadena .=" amarilla"; // la variable $cadena contiene ahora “pulsera amarilla” ?>
  • 44. LENGUAJE DE PROGRAMACIÓN PHP 43 5.3. Operadores aritméticos Los operadores aritméticos son aquéllos que nos permiten realizar operaciones numéricas con nuestras variables. El operador que puede llevar más confusión es el tanto por ciento (%). Para utilizarlo correctamente, si queremos obtener el resto de una división, lo debemos colocar entre los dos valores que queremos realizar la operación. Los principales operadores aritméticos son: + Suma - Resta * Multiplicación / División % Devuelve el resto de la división Por ejemplo, 2 % 2 dará como resultado 0, mientras que 6 % 5 dará 1. Vamos a realizar un ejemplo con los distintos tipos de operaciones que se pueden realizar. Para ello utilizaremos las variables ‘$a' y ‘$b'. <HTML> <BODY> <?php $a = 10; // Asignamos a “a” el valor $b = 6; // Asignamos a “b” el valor 6 echo 'a = ' . $a . ', b = ' . $b . '<P>'; // Muestra a = 10, b = 6 echo 'a + b = ' . ($a + $b) . '<BR>'; // Muestra a + b = 16 echo 'a - b = ' . ($a - $b) . '<BR>'; // Muestra a – b = 4 echo 'a * b = ' . ($a * $b) . '<BR>'; // Muestra a * b = 60 echo 'a / b = ' . ($a / $b) . '<BR>'; // Muestra a / b = 1,666667 echo 'a % b = ' . ($a % $b) . '<BR>'; // Muestra a % b = 4 echo '-a = ' . ($a) . '<P>'; // Muestra -a = -10 ?> </BODY> </HTML>
  • 45. LENGUAJE DE PROGRAMACIÓN PHP 44 5.4. Operadores de comparación Los operadores de comparación se suelen utilizar generalmente para comparar dos variables, comprobando si cumple o no la condición previamente establecida. Estos operadores son binarios y su resultado es un booleano (valor de verdad). Podemos estudiar los siguientes operadores de comparación: == Igualdad != Desigualdad < Menor que <= Menor o igual que > Mayor que >= Mayor o igual que Como ejemplo de cada uno de ellos, tenemos: $a == $b: Es verdadero si $a es igual a $b. $a != $b: Es verdadero si $a es distinto que $b. $a < $b: Es verdadero si $a es menor que $b. $a <= $b: Es verdadero si $a es menor o igual que $b. $a > $b: Es verdadero si $a es mayor que $b. $a >= $b: Es verdadero si $a es mayor o igual que $b. 5.5. Operadores lógicos Los operadores lógicos se usan conjuntamente con los operadores de comparación cuando la expresión que queremos comparar requiere de un operador lógico. Sirven para componer condiciones más simples por medio de las reglas de la y, o y no lógicas. Estos operadores nos permiten expresar condiciones compuestas de las que queremos averiguar su valor de verdad. Los principales operadores lógicos son: && And (Y) || Or (O) ! NOT (Negación) Un ejemplo claro de cada operador lógico sería:  $a && $b: (Y) Es verdadero si tanto $a como $b son verdaderos.  $a || $b: (O) Es verdadero si $a o $b son verdaderos.  ! $a: (Negación) Es verdadero si $a no es verdadero.
  • 46. LENGUAJE DE PROGRAMACIÓN PHP 45 Vamos a realizar un ejemplo de operadores lógicos. Partiendo de tres variables (a, b y c) y vamos a realizar distintas operaciones con ellas: <HTML> <BODY> <?php $a = 10; // Asignamos a la variable “a” el valor 10 $b = 6; // Asignamos a la variable “b” el valor 6 $c = 11; // Asignamos a la variable “c” el valor 11 echo 'a = ' . $a . ', b = ' . $b . ', c = ' . $c . '<P>'; echo '(a > b) && (a > c) : ' . (($a > $b) && ($a > $c)) . '<BR>'; echo '(a > b) && (a < c) : ' . (($a > $b) && ($a < $c)) . '<BR>'; echo '!(a < b) : ' . !($a < $b) . '<BR>'; echo '(a > b) || (a > c) : ' . (($a > $b) || ($a > $c)) . '<BR>'; ?> </BODY> </HTML> Comentarios:  La primera comparación nos dice si '$a' es mayor que '$b' y a la vez mayor que '$c'.  La segunda, si '$a' es mayor que '$b' y a la vez menor que '$c'.  La tercera, si no se cumple que '$a' sea menor que '$b'.  Y por último, la cuarta nos dice si '$a' es mayor que '$b', o bien '$a' es mayor que '$c'. 5.6. Operadores de incremento/decremento Los operadores de incremento o decremento sirven para aumentar o disminuir el valor de una variable. Estos operadores solo suman o restan una unidad, existen dos tipos: $variable++ Aumenta en 1 el valor de la variable indicada $variable-- Disminuye en 1 el valor de la variable indicada A la hora de insertar un operador de incremento o decremento en nuestro código PHP, hay que hacerlo de la siguiente manera:  $a++: Devuelve $a y después incrementa $a en una unidad.  $a--: Devuelve $a y después decrece su valor en una unidad.
  • 47. LENGUAJE DE PROGRAMACIÓN PHP 46 5.7. Sentencias Condicionales If, Else/If, Elseif, Else PHP, como lenguaje de programación que es, posee órdenes de control de flujo, es decir, permiten al programa tomar decisiones lógicas según los parámetros que reciba. Por ejemplo, si hace frío ponte un abrigo; pero si hace calor déjalo en tu casa. Este tipo de sentencias sirven para realizar una operación u otra dependiendo de la condición que establezcamos. Este tipo de acciones las podemos llevar a cabo gracias a una paleta de instrucciones que se encuentran en casi todos los lenguajes de programación. Es la estructura de control más simple en PHP. La sentencia If obliga a evaluar la expresión que haya entre paréntesis y, si se cumple la condición, ejecuta un bloque de código. Si por el contrario dicha condición no se cumple, el bloque de código será ignorado. Como todo el mundo sabe, no todo puede ser sí o no, blanco o negro, grande o pequeño… Por esta causa, se pueden plantear muchas más condiciones dentro de la condición principal, siempre dependiendo de la finalidad que busquemos. A éstas se les llaman condiciones anidadas. If, Elseif, Else: Esta instrucción es similar al último caso que hemos visto, con la salvedad de que nos permite introducir en la misma línea la instrucción condicional. If, Else Es la estructura de control más simple en PHP. La sentencia If obliga a evaluar la expresión que haya entre paréntesis y, si se cumple la condición, ejecuta un bloque de código. Si por el contrario dicha condición no se cumple, el bloque de código será ignorado. if (condición) { Sentencia 1; Sentencia 2; ... } else { Sentencia 3; Sentencia 4; ... } Veamos un ejemplo para entenderlo mejor: <?php $edad = ""; if ($edad < 18) { echo "Lo siento, no puedes entrar aquí"; } else { echo "Adelante, puedes entrar"; } ?>
  • 48. LENGUAJE DE PROGRAMACIÓN PHP 47 No es necesario usar la declaración “Else”: <?php if ($user == "jaime") { // código exclusivo para el usuario Jaime } // código para todos los usuarios, sean o no Jaime ?> Para incluir condiciones complejas solo basta con unirlas mediante el operador necesario para dicha condición. Un ejemplo podría ser: <?php if (($precio <= 3000)&& ($km <= 45000)) { echo “Este coche me lo voy a comprar”; } ?> Como todo el mundo sabe, no todo puede ser sí o no, blanco o negro, grande o pequeño… Por esta causa, se pueden plantear muchas más condiciones dentro de la condición principal, siempre dependiendo de la finalidad que busquemos. A éstas se les llaman condiciones anidadas, y su estructura sería: if (condición1) { Sentencia 1; Sentencia 2; ... } else { if (condición2) { Sentencia 3; Sentencia 4; ... } else { Sentencia 5; ... } } Si cumple la condición1, realizaría las sentencias 1 y 2. Si cumple la condición2, realizaría las sentencias 3 y 4. Y si por el contrario no cumple ninguna de las dos condiciones anteriores, realizaría la sentencia 5.
  • 49. LENGUAJE DE PROGRAMACIÓN PHP 48 If, Elseif, Else Esta instrucción es similar al último caso que hemos visto, con la salvedad de que nos permite introducir en la misma línea la instrucción condicional. Con esto, simplificamos un poco el ejemplo anterior: if (condición1) { Sentencia 1; Sentencia 2; ... } elseif (condición2) { Sentencia 3; Sentencia 4; ... } else { Sentencia 5; ... } Un ejemplo de esta instrucción sería: <?php if ($user == "pablo") { // código exclusivo para el usuario Pablo } elseif ($user == "miguel") { // código exclusivo para el usuario Miguel } else { // código para el resto, o lo que es lo mismo, // para todos menos para Pablo ni Miguel } ?> De todo esto, deducimos que “elseif” es lo mismo que escribir primero un “else” y a continuación un “if”.
  • 50. LENGUAJE DE PROGRAMACIÓN PHP 49 5.8. Práctica: Mayor de dos números MAYOR DE DOS NÚMEROS: Programa que asigne dos valores distintos a dos variables y nos diga cuál es la mayor de las dos. El programa nos deberá mostrar lo siguiente: <?php $a = 6; $b = 2; if ($a > $b) { echo “La variable a es mayor que la variable b.”; } else { echo “La variable b es mayor que la variable a.”; } ?>
  • 51. LENGUAJE DE PROGRAMACIÓN PHP 50 5.9. Práctica: Carné del polideportivo CARNÉ DEL POLIDEPORTIVO: Realizar un programa que, según la edad que escribamos, nos diga cuánto vale sacarse un carné en el polideportivo. Deberemos seguir estos pasos: 1. Si el socio tiene 9 años o menos, deberá costar 15 euros. 2. Si el socio tiene entre 10 y 17 años, deberá costar 22 euros. 3. Si el socio es mayor de edad, deberá costar 28 euros. Deberemos conseguir que nos aparezca por pantalla lo siguiente: <?php $edad = 19; if ($edad <= 9) { echo “El carné cuesta 15 euros.”; } elseif ($edad <= 17) { echo “El carné cuesta 22 euros.”; } else { echo “El carné cuesta 28 euros.”; } //el carné le costará 28 euros. ?>
  • 52. LENGUAJE DE PROGRAMACIÓN PHP 51 5.10. Práctica: Valor de variable PEDIDO 1: Realizar un programa que, según el valor de la variable $var que se defina al comienzo, imprima alguno de estos mensajes:  el valor de la variable es numérico, entero y menor o igual de 10.  el valor de la variable es numérico, entero y mayor de 10.  el valor de la variable es numérico, decimal y menor o igual de 10.  el valor de la variable es numérico, decimal y mayor de 10.  el valor de la variable es texto. <?php $var = 4.5; $valor=(gettype($var)); if ($valor == "integer" || $valor == "double") { if($var<=10) { if ($valor == "integer") { echo "el valor de la variable es numérico, entero y menor o igual de 10."; } else { echo "el valor de la variable es numérico, decimal y menor o igual de 10."; } } else { if ($valor == "integer") { echo "el valor de la variable es numérico, entero y mayor de 10."; } else { echo "el valor de la variable es numérico, decimal y mayor de 10."; } } } else { echo "el valor de la variable es texto."; } ?>
  • 53. LENGUAJE DE PROGRAMACIÓN PHP 52 5.11. Práctica: Ordenar de menor a mayor ORDENAR: Realizar un programa donde se dé valor a tres variables y se ordenen de menor a mayor. <?php $a=100; $b=10; $c=60; if($a>$b) { $aux=$a; $a=$b; $b=$aux; } if($b>$c) { $aux=$b; $b=$c; $c=$aux; } if($a>$b) { $aux=$a; $a=$b; $b=$aux; } echo "$a, $b, $c"; ?> Recuerda… Si estamos realizando sentencias condicionales y escribimos un “elseif”, debe llevar obligatoriamente una sentencia de condición. Cada vez que escribimos un “if” en nuestro código de PHP, no es obligatorio llevar un “else”., ya que un “if” puede ir suelto. La diferencia que existe entre los operadores lógicos “&&” y “||”, es que, mientras que “&&” es verdadero si las dos variables son verdaderas, mientras que “||” es verdadero si una de las dos es verdadera. Es correcto escribir el operador de incremento $a++, ya que devuelve $a y luego incrementa $a en una unidad. La diferencia de estos dos operadores: “/” y “%” estriba en que el primero realiza una división entre las variables y el segundo da como resultado el resto de esa división. Podemos incluir condiciones complejas en una sentencia condicional, unidas mediante un operador lógico cualquiera. El signo de desigualdad en PHP se escribe “!=” El operador de asignación que utilizaremos será “=” El operador de concatenación que utilizaremos será “.”
  • 54. LENGUAJE DE PROGRAMACIÓN PHP 53 6. BUCLES En el desarrollo de la siguiente lección, aprenderemos a utilizar una serie de instrucciones llamadas Bucles, los cuales forman parte de la sintaxis en PHP. 6.1. Qué es un Bucle Como todos sabemos, los ordenadores están diseñados para realizar tareas repetitivas y, por lo tanto, podemos realizar programas para aprovechar este tipo de tareas, y poder realizar una secuencia de instrucciones el número de veces que indiquemos. Para todo ello, utilizaremos las estructuras llamadas bucles, que se utilizan para realizar la tarea definida el número de veces que necesitemos. A continuación detallaremos algunos de los aspectos de los bucles más utilizados en PHP. 6.2. Bucle While Este bucle es el más sencillo de utilizar se utiliza, siempre y cuando la condición sea verdadera, para ejecutar las instrucciones que contiene dentro de él. El valor de la expresión es comprobado cada vez al principio del bucle, incluso si este valor cambia durante la ejecución de las sentencias, la ejecución no parará hasta el fin de la repetición. Su sintaxis es la siguiente: while (condición) { Instrucción1; Instrucción2; ... } Un breve ejemplo sería: <?php $i=1; while ($i <=10) { echo "$i<br>"; $i++; } ?> El ejemplo anterior muestra los números desde el 1 hasta el 10 de forma correlativa. Cuando llega al 10 se saldrá del bucle. Para que el ejemplo funcione, ha de cumplir dos condiciones: una que $i sea, al principio, menor que 10, ya que si es mayor el bucle no se ejecuta pues la condición no se cumple, y la otra es que hay que ir aumentando $i ($i++), ya que si no hacemos esto, $i valdría siempre 1. En este caso, la condición siempre sería verdadera y no podríamos salir nunca del bucle.
  • 55. LENGUAJE DE PROGRAMACIÓN PHP 54 EJEMPLO: A continuación vemos un ejemplo. En él se recorre una cadena hasta que encontremos un determinado carácter. Si encuentra dicho carácter, se muestra la posición en que lo ha encontrado; si por el contrario, no lo encuentra, nos muestra un mensaje de error advirtiéndolo. <? $cadena = "hoy tengo mucha hambre"; //recorro la cadena hasta encontrar una "b" $i=0; while ($cadena[$i]!="b" && $i< strlen($cadena)){ $i++; } if ($i==strlen($cadena)) echo "Error, no encontramos ninguna b"; else echo "¡¡Encontrada!! Está en la posición $i"; ?> NOTA: Para que entendamos bien este ejercicio, es necesario conocer la función de cadena strlen(), la cual nos da como resultado la longitud de la cadena que se le pase como parámetro: “int strlen (string cad)” que devuelve un número entero igual a la longitud de la cadena. En cuanto al ejemplo, definimos una cadena en la que escribimos "hoy tengo mucha hambre". A continuación, recorrerá esa cadena hasta el final de la cadena o hasta encontrar el carácter "b". La variable $i la utilizamos para llevar la cuenta de los caracteres que hemos recorrido durante la ejecución del programa. 6.3. Bucle Do…While Este bucle es casi igual que el explicado anteriormente, pero con la salvedad de que aquí la condición se evalúa después de ejecutar el código. Esa es la gran diferencia con respecto a “while”, así que garantiza la ejecución de la primera iteración de este bucle. Su sintaxis es la siguiente: do { Instrucción1; Instrucción2; ... } while (condición)
  • 56. LENGUAJE DE PROGRAMACIÓN PHP 55 Un breve ejemplo para entender este bucle sería: <?php $i=1; do { echo "$i<br>"; $i++; } while ($i <=10); ?> Este ejemplo sería igual que el ejemplo de “while”, ya que también mostraría los números desde el 1 hasta el 10, cada uno en una línea. 6.4. Bucle For Es uno de los bucles más complejos en PHP. For toma tres parámetros separados entre ellos mediante un punto y coma, estos parámetros son:  Valor inicial de la variable de control.  Valor final de la variable de control.  Incremento de dicha variable. Este bucle resulta muy práctico en determinadas situaciones. Es uno de los más populares, y la diferencia que tiene con los anteriormente explicados radica en cómo se plantea la condición de finalización del bucle. Es importante saber, que podemos romper cualquiera de los bucles en el momento que deseemos escribiendo la sentencia “break”. La sintaxis de un bucle For es la siguiente: for (valor_inicial ; valor_final ; incremento/decremento) { Instrucción1; Instrucción2; ... } La primera expresión que se evalúa es “valor_inicial”, y se hace una sola vez al comienzo del bucle. A continuación, al comienzo de cada iteración es evaluada “valor_final” y si dicha evaluación resulta verdadera, el bucle sigue su curso al igual que las sentencias anidadas. Pero si la evaluación resulta que es falsa, la ejecución del bucle finaliza. Un breve ejemplo de todo esto podría ser: <?php for ($i = 1; $i <= 10; $i++) { echo "$i<br>"; } ?>
  • 57. LENGUAJE DE PROGRAMACIÓN PHP 56 Este ejemplo mostraría los números del 1 al 10, cada uno en una fila distinta. Cabe destacar, que el valor inicial no se puede poner fuera del bucle For, ya que no afectaría en nada a nuestro programa. Veamos un ejemplo de esto: <?php print(“Cuenta atrás…<P>”); $i=10; for ( ; $i >= 0; $i--) { print (“$a = $a<BR>”); } ?> Es importante saber, que podemos romper cualquiera de los bucles en el momento que deseemos escribiendo la sentencia “break”. Veamos un ejemplo de cómo funciona dicha sentencia, pero al final de este tema hablaremos de ella con más detenimiento: <?php for ($i = 1; ;$i++) { if ($i > 10) { break; } print $i; } ?> Este ejemplo lo que hace es mostrar por pantalla los números correlativos desde el 1 hasta el 10. El valor final se encuentra dentro de una sentencia condicional “if” y, cuando dicho valor resulta verdadero, se ejecuta la orden “break”, por lo que el programa sale del bucle For. Tanto el ejemplo anterior como el primer ejemplo que hicimos de este apartado, se podrían sintetizar considerablemente. Bastaría con escribir el siguiente código y obtendríamos los mismos resultados: <?php for ($i = 1; $i <=10; print $i, $i++); ?>
  • 58. LENGUAJE DE PROGRAMACIÓN PHP 57 6.5. Bucle Foreach Los bucles “Foreach” son utilizados para el tratamiento de arrays. Cabe recordar que un array es una variable que guarda un conjunto de valores relacionados mediante una clave. Este bucle nos ayuda a recorrer los valores de una matriz, lo que nos resulta muy útil para realizar una lectura rápida de la misma. Si no lo utilizamos con matrices, nos devolverá un error. La sintaxis es la siguiente: Foreach ($array as $clave=>$valor) { Instrucción1; Instrucción2; …; } Este bucle recorre el array dado por “$array” y en cada iteración, el valor actual se asigna al elemento “$valor”, y el puntero interno del array avanza en una unidad, por lo que en el siguiente paso, estará apuntando al elemento siguiente. Vamos a realizar un ejemplo práctico de cómo se ejecuta un bucle “Foreach”: <?php $capitales=array("España"=> "Madrid","Italia" => "Roma","Francia" => "París"); Foreach ($capitales as $clave=>$valor) { echo "Pais: $clave Capital: $valor<br>"; } ?> Un array o matriz multidimensional es aquél en el que al menos uno de sus valores es, a su vez, un array. Un ejemplo de array multidimensional podría ser: <?php $a[0][0] = "a"; $a[0][1] = "b"; $a[1][0] = "y"; $a[1][1] = "z"; foreach($a as $v1) { foreach ($v1 as $v2) { print "$v2n"; } } ?>
  • 59. LENGUAJE DE PROGRAMACIÓN PHP 58 En una matriz dinámica sus valores no contienen ningún array como podemos ver a continuación: <?php Foreach (array (1, 2, 3, 4, 5) as $v) { print "$vn"; } ?> 6.6. Break y Continue “Break” y “Continue” son dos instrucciones que se pueden meter dentro de la sintaxis de cualquiera de las estructuras anteriores. Son muy prácticas. Break Sirve para escapar de cualquier estructura de control: for, while y, como veremos más adelante, switch. Acepta un parámetro opcional que determina cuántas estructuras de control hay que escapar. <?php $matriz = array ('uno', 'dos', 'tres', 'cuatro', 'para', 'cinco'); while (list (, $contar) = each ($matriz)) { if ($contar == 'para') { break; } echo "$contar<br>n"; } ?>
  • 60. LENGUAJE DE PROGRAMACIÓN PHP 59 Continue Se utiliza dentro del bucle para saltar el resto de esa iteración y pasar a la iteración siguiente. “Continue” acepta un parámetro opcional que determina cuántos bucles hay que saltar antes de que continúe con la ejecución. <?php $i = 0; while ($i++ < 5) { echo "$i<br>"; echo "Fuera<br>"; while (1) { echo " En el centro<br>"; while (1) { echo " Dentro<br>"; continue 3; } echo "Esto no se imprimirá nunca.<br>"; } echo "Y esto tampoco se imprimirá.<br>"; } ?> En el bucle “While” que tienen un “1” dentro, equivale a poner TRUE (verdadero) y se refiere a la expresión del primer while que tiene que ser menor que 5. Si cambiamos el 1 por un 0 no se ejecutaría ninguno de los dos bucles y sí los dos echos que están debajo. Realmente la estructura continue no se suele utilizar mucho. 6.7. Switch La sentencia “Switch” es una forma distinta y más comprensible para evaluar una variable frente a multitud de opciones. En muchos casos, queremos comparar la misma variable con infinidad de expresiones, ejecutando la parte del código correspondiente a la opción elegida. El uso de la cláusula “break” es necesario, ya que con esta estructura cada vez que se cumple la condición deseada, se ejecutan el resto de declaraciones. Con “break” lo que conseguimos es salir fuera del “switch” continuando con la ejecución del programa. Si en vez de “break” pusiéramos “exit”, el resto del programa no se ejecutaría, ya que se saldría de dicho programa. La expresión “case” puede ser cualquier expresión que se ajuste a un tipo simple, o lo que es lo mismo, números enteros o de punto flotante y cadenas de texto. Esta sentencia es lo mismo que escribir numerosas sentencias “if”, por lo que resulta más ordenado: if ($i == 0) { print "i es igual a 0"; } if ($i == 1) { print "i es igual a 1"; } if ($i == 2) { print "i es igual a 2"; }
  • 61. LENGUAJE DE PROGRAMACIÓN PHP 60 Por lo tanto, la sentencia “Switch” tiene la siguiente sintaxis: <?php $variable = "a"; switch ($variable) { case "a": // el código será ejecutado si $variable vale "a" break; case "b": // el código será ejecutado si $variable vale "b" break; case "c": // el código será ejecutado si $variable vale "c" break; default: // este código se ejecutará si no se cumple ninguna condición } ?> El uso de la cláusula “break” es necesario, ya que con esta estructura cada vez que se cumple la condición deseada, se ejecutan el resto de declaraciones. Con “break” lo que conseguimos es salir fuera del “switch” continuando con la ejecución del programa. Si en vez de “break” pusiéramos “exit”, el resto del programa no se ejecutaría, ya que se saldría de dicho programa. Un ejemplo de esta sentencia sería: <?php $num = 2; switch ($num) { case 0: print "El valor de num es 0"; break; case 1: print "El valor de num es 1"; break; case 2: print "El valor de num es 2"; break; default: print "El valor de num es distinto a 0, 1 y 2"; } ?>
  • 62. LENGUAJE DE PROGRAMACIÓN PHP 61 La expresión “case” puede ser cualquier expresión que se ajuste a un tipo simple, o lo que es lo mismo, números enteros o de punto flotante y cadenas de texto. Aquí no podemos utilizar ni arrays ni objetos, siempre y cuando no se conviertan intencionadamente a un tipo simple. 6.8. Práctica: Días de la semana DIAS DE LA SEMANA: Realizar un programa que según el día de la semana que marquemos, nos diga la actividad que tenemos que realizar dicho día. Esta práctica la realizaremos mediante la sentencia “switch”. Por ejemplo, si escribimos jueves el programa nos deberá mostrar: <?php $dia="Jueves"; switch ($dia) { case "Lunes": echo "Hoy es lunes y tengo que hacer la compra."; break; case "Martes": echo "Hoy es martes y tengo que recoger a mi hermano."; break; case "Miércoles": echo "Hoy es miércoles y tengo que ver el partido."; break; case "Jueves": echo "Hoy es jueves y tengo que ir al dentista."; break; case "Viernes": echo "Hoy es viernes y tengo descansar un poco."; break;
  • 63. LENGUAJE DE PROGRAMACIÓN PHP 62 case "Sábado": echo "Hoy es sábado y tengo que jugar al fútbol."; break; case "Domingo": echo "Hoy es domingo y tengo que estudiar."; break; default: echo "No ha escrito correctamente el día de la semana."; } ?> 6.9. Práctica: Buscando una letra BUSCANDO UNA LETRA: Realizar un programa que me diga si hay alguna letra “u” en una determinada cadena y en qué posición se encuentra. Esta práctica la realizaremos mediante la sentencia “Do…While” y la cadena será “esto es un ejercicio de repaso”. Nos debe salir una pantalla parecida a la siguiente: <?php $texto = "Esto es un ejercicio de repaso."; $i=0; do { $i++; }while ($texto[$i]!="u" && $i< strlen($texto)); if ($i==strlen($texto)) echo "En el texto no existe ninguna letra u."; else echo "La hemos encontrado. Está en la posición $i."; ?>
  • 64. LENGUAJE DE PROGRAMACIÓN PHP 63 6.10. Práctica: Números divisibles entre 5 NÚMEROS DIVISIBLES: Elaborar un programa que imprima en pantalla todos los números del 1 al 100 divisibles entre 5 así como su suma. La solución sería: <?php $suma=0; for($i=1; $i<=100; $i++) { if($i%5==0) { echo "$i<BR>"; $suma=$suma+$i; } } echo "La suma total es $suma."; ?> 6.11. Práctica: Valores entre dos enteros VALORES: Elaborar un programa que declare dos variables enteras y muestre todos los valores entre ellas. La solución sería: <?php $a=7; $b=20; if($b<$a) { $aux=$a; $a=$b; $b=$aux; } do { echo "$a<BR>"; $a++; } while ($a<$b) ?>
  • 65. LENGUAJE DE PROGRAMACIÓN PHP 64 6.12. Práctica: Tablas de multiplicar TABLAS DE MULTIPLICAR: Realizar un programa que muestre las tablas del multiplicar del 1 al 10. El resultado sería: <?php for($i=1; $i<=10; $i++) { echo "Tabla del $i<BR>"; for ($j=0; $j<=10; $j++) { $m=$i*$j; echo $i."*".$j."=".$m."<BR>"; } echo "<BR></P>"; } ?> Recuerda… Los bucles “Foreach” se usan para el tratamiento de matrices. La sintaxis de un bucle “For” es: For (valor_inicial ; valor_final ; incremento/decremento). En un bucle “Do…While”, la condición se evalúa después de ejecutar el código. El bucle “While” se ejecuta cuando la condición es verdadera. La sentencia “Break”, la utilizamos para escapar de cualquier estructura de control. La sentencia “Continue” puede llevar un parámetro para saber cuántos bucles tiene que saltar, pero no es obligatorio que lo lleve. Es más aconsejable utilizar la sentencia “Switch” siempre que queramos evaluar una variable frente a multitud de opciones.
  • 66. LENGUAJE DE PROGRAMACIÓN PHP 65 7. FUNCIONES En el transcurso de esta lección, aprenderemos a crear y a utilizar funciones dentro del lenguaje de programación PHP. 7.1. Qué es una Función Una función es un conjunto de instrucciones donde tenemos que procesar variables para obtener el resultado buscado. Las funciones en PHP son muy fáciles de manejar. Para que la función realice la tarea determinada, debemos llamar correctamente a la función, definiendo los parámetros y variables oportunos. Las funciones suelen ser tremendamente prácticas, puesto que las podremos crear para conectarnos a una base de datos, crear encabezados de página, pies de páginas, etiquetas, etc. Una gran ventaja de las funciones es que las podemos llamar en cualquier momento. Al utilizar funciones en nuestro código, podremos perfeccionar cada una de sus funcionalidades cada vez que sea necesario, siendo mucho más fácil localizarlas. También podremos utilizar el código que contengan, llamando a la función cuantas veces haga falta, ya que se pueden utilizar indefinidamente. Como todos sabemos, la función debe ser definida dentro del script. Las podemos almacenar en un archivo distinto, llamado librería, al que invocaremos las veces necesarias desde nuestro script. Para incluirlo en nuestro programa, empleamos las órdenes require o include: require("encabezado.php") o include("encabezado.php") A continuación, vamos a crear un archivo que lo llamaremos “encabezado.php”, en el que almacenaremos una cabecera para nuestra página. A dicho archivo, lo podremos llamar cuando queramos en nuestro script: <?php function crear_cabecera($titulo) { $nombre="<HTML>n<HEAD>nt$titulon</HEAD>n"; echo $nombre; } ?> Podemos invocar a esta función desde otro archivo distinto como vemos en el siguiente ejemplo: <?php include("encabezado.php"); $titulo="Manual de PHP"; crear_cabecera($titulo); ?>
  • 67. LENGUAJE DE PROGRAMACIÓN PHP 66 7.2. Cómo se crea una Función Para crear una función debemos poner siempre en el inicio la palabra “function” seguida del nombre de la función. Entre paréntesis deberemos escribir los valores que vamos a utilizar en nuestra función. Su sintaxis sería la siguiente: <?php function nombre_de_la_función (valores) { // Código de nuestra función } ?> El valor que indicamos dentro del paréntesis ( ) puede ser omitido, pero el paréntesis hay que escribirlo obligatoriamente. NOTA: Por otro lado, es lo mismo escribir nombre_de_la_función que NOMBRE_DE_LA_FUNCIÓN, ya que PHP no distingue entre mayúsculas y minúsculas. Es recomendable escribir las funciones y demás código de la misma manera, ya que facilita la corrección de los posibles errores de sintaxis que pudiéramos tener en nuestro código. Como hemos visto en otras unidades, PHP sí distingue entre mayúsculas y minúsculas. En el caso de las funciones, escribir mayúsculas y minúsculas es indiferente, ya que no las distingue. Veamos a continuación un ejemplo de una función: <?php function ejemplo () { echo "esta es una funcion de ejemplo"; } ?> Cada vez que llamemos a esta función aparecerá en la pantalla el siguiente mensaje “esta es una función de ejemplo”. Es importante saber que las funciones no se ejecutan hasta que no sean invocadas.
  • 68. LENGUAJE DE PROGRAMACIÓN PHP 67 7.3. Cómo se invoca una Función Para invocar una función, basta con poner el nombre de la función seguido de un punto y coma (;) como podemos ver aquí: <?php nombre_de_la_funcion (); ?> A una función se le puede invocar antes de que sea definida en el documento. Por lo tanto, estos dos ejemplos son iguales: <?php function numerar () { for ($i=1; $i<=10; $i++) { echo “$i <br>”; } } numerar (); ?> //Sería igual que escribir: <?php numerar (); function numerar () { for ($i=1; $i<=10; $i++) { echo “$i <br>”; } } ?> Se puede comprobar con el ejemplo, que al invocar una función le podemos pasar una serie de parámetros externos a nuestra función. De esta forma, podremos definir variables y valores dentro del paréntesis que va detrás del nombre de la función, como por ejemplo: function numerar ($x=4,$z=7) La función utilizará estos dos valores (4 y 7) de forma independiente a las variables $x y $z que pudieran contener otros valores diferentes en el ámbito externo de la función. Otra forma de asignar valores a las variables internas de una función es pasar los parámetros por valor, como por ejemplo: function numerar ($x,$z) En este último caso, prepararía la función para recibir dos valores pero requeriría que en la llamada a la función se escribieran, separados por comas, esos dos valores: numerar (-55,11); Veamos unos ejemplos para comprenderlo mejor: Ejemplo 1: <?php function calcular ($n=20) { echo “El resultado de 3*$n en la función es: ”, 3*$n, “<br>”; echo “El valor de $n dentro de la función es: ”, $n, “<br>”; } calcular (); echo “El valor de $n después de ejecutar la función es: ”, $n, “<br><br>”; ?>