Post on 13-Jul-2015
Curso PHP-MySQL
Tabla de contenidos[esconder]q q
q
1 2 HTML r 2.1 Qu es HTML? r 2.2 Etiquetas bsicas s 2.2.1 s
2.2.2 s 2.2.3 s 2.2.4 s 2.2.5 s 2.2.6 s 2.2.7
s 2.2.8 s 2.2.9 r 2.3 Otras etiquetas s 2.3.1 s 2.3.2 s 2.3.3 s
2.3.4 s 2.3.5 s 2.3.6 r 2.4 Caracteres especiales r 2.5
Formularios r 2.6 Ejemplo de una pgina HTML 3 PHP r 3.1 Qu es PHP?
s 3.1.1 Historia de PHP s 3.1.2 PHP r 3.2 Instalando PHP en nuestro
servidor r 3.3 Herramientas libres para escribir PHP r 3.4
Sintaxis, variables y operadores r 3.5 Primer script en PHP r 3.6
Instrucciones bsicas r 3.7 Tipos de variables r 3.8 Constantes r
3.9 Estructuras de control s 3.9.1 if/elseif/else s 3.9.2 while s
3.9.3 do ... whileqqq3.9.4 for s 3.9.5 foreach s 3.9.6 break s
3.9.7 continue s 3.9.8 switch r 3.10 Incluyendo archivos include()
y require() r 3.11 Funciones s 3.11.1 Formas de usar una funcin s
3.11.2 Devolviendo valores desde funciones return() r 3.12 Clases r
3.13 Matrices, arrays o vectores r 3.14 Ficheros s 3.14.1 fopen s
3.14.2 fwrite s 3.14.3 fread s 3.14.4 Upload de ficheros al
servidor r 3.15 Cookies s 3.15.1 Cmo usar las cookies r 3.16
Sesiones s 3.16.1 Inicio de sesin s 3.16.2 Variables de sesin s
3.16.3 Cierre de sesin 4 MySQL r 4.1 Qu es una base de datos
relacional? r 4.2 Tipos de datos en MySQL r 4.3 Instalando MySQL en
nuestro servidor r 4.4 Creando una base de datos y una tabla s
4.4.1 Modo phpmyadmin s 4.4.2 Modo mysql-admin/mysql-query-browser
s 4.4.3 Modo desde consola r 4.5 Consultas MySQL s 4.5.1 Consultas
de insercin s 4.5.2 Consultas de seleccin s 4.5.3 Consulta de
Actualizacin/Modificacin s 4.5.4 Consultas de Eliminacin 5 Uso de
bases de datos desde cdigo PHP r 5.1 Funciones MySQL s 5.1.1
mysql_pconnect s 5.1.2 mysql_select_db s 5.1.3 mysql_query s 5.1.4
mysql_fetch_row s 5.1.5 mysql_result s 5.1.6 mysql_escape_string 6
Herramientas para otras plataformas r 6.1 Instalacin de PHP en
Apache para Windows r 6.2 Instalacin de MySQL en Windows r 6.3
Herramientas para trabajar con MySQL en Windows r 6.4 Instalacin
completa en Windows s 6.4.1 AppServ s 6.4.2 XAMMPsq7 Complementos r
7.1 phpMyAdmin r 7.2 CMSHTMLQu es HTML?HTML es el acrnimo ingls de
HiperText Markup Languaje, lenguaje de marcado de hipertexto en
castellano. Es el lenguaje universal de Internet, el que todos los
navegadores entienden y en el que se representa ms del 90% del
contenido web (el resto son imgenes, animaciones en flash, etc).
REFERENCIAS: Definicin de HTML segn la Wikipedia en espaol Pgina de
las especificacines para HTML del consorcio W3CEtiquetas bsicasLas
etiquetas bsicas presentes en cualquier pgina que valide su
contenido en HTML son las siguientes: , , , , , ,
, y . Aunque todas estn escritas con maysculas, no tiene por qu
escribirse en mayscula, es ms, desde hace tiempo todas las
etiquetas se suelen poner en minscula. Otro aspecto importante en
las etiquetas es que casi todas se cierran, as se cierra con ,
algunas como
no se cierran. Es la etiqueta que define el inicio del documento
html, le indica al navegador que todo lo que viene a continuacin
debe tratarlo como una serie de cdigos html. Se cierra con . Define
la cabecera del documento html, esta cabecera suele contener
informacin sobre el documento que no se muestra directamente en el
navegador, su codificacin (charset=ISO-8859-1 o UTF-8 ...) , etc.
Se cierra con . Define el contenido principal o cuerpo del
documento, esta es la parte del documento html que se muestra en el
navegador, dentro de esta etiqueta pueden definirse propiedades
comunes a toda la pgina, como color de fondo y mrgenes. Se cierra
con . Define el ttulo de la pgina. Por lo general, el ttulo aparece
en la barra de ttulo encima de la ventana. Se cierra con . Son
encabezados o ttulos del documento en diferentes tamaos de fuente,
la X debe se un nmero del 1 al 6, el 1 es el msgrande y el 6 el ms
pequeo. Se cierra con donde X debe ser el mismo nmero que abri la
etiqueta. Es un prrafo nuevo, viene de paragraph. Se cierra con
.
Es un salto de lnea forzado, viene de branch. Esta etiqueta no se
cierra en HTML, en XHTML s se cierra con
. Es el comienzo de una tabla, las filas se identifican con y las
celdas dentro de las filas con . La tabla se cierra con , las filas
con y las celdas con . Indica el comienzo de una divisin vertical
de la pgina, se usa mucho para alinear a la izquierda, centro o
derecha los textos e imgenes, veamos un ejemplo: Esto es un texto
alineado en el centro Y el resultado: Esto es un texto alineado en
el centroComo vemos, esta etiqueta se cierra con .Otras
etiquetasOtras etiquetas muy tiles y usadas en HTML son: , , , , ,
. La etiqueta sirve para empotrar una imagen cualquiera en HTML. Su
uso suele ser: Los parmetros alt, title, width y height no son
obligatorios, aunque el primero s es necesario para validar
correctamente la pgina en HTML, el segundo se refiere al ttulo de
la imagen, ste ser visible si ponemos el ratn encima de la imagen.
Los campos width y height hacen referencia al tamao de la imagen,
pudiendo modificar el tamao original al gusto del programador, si
estos campos no se pasan, se toma el tamao original. Esta etiqueta
no se cierra. La etiqueta hace referencia a un hiperenlace, puede
ser a otra pgina o bien a una subseccin de la misma pgina, lo que
se conoce como un ancla. Un ejemplo tpico de su uso sera: Pgina web
de SOLEUP La URL ha de ir siempre entre las comillas o no ser
vlido, el texto que est entre y es el que contendr el enlace, es
imprescindible cerrar el hiperenlace o bien todo lo que escribamos
a partir de estarhiperenlazado. Si no escribimos http:// estaremos
haciendo referencia a un enlace en el mismo servidor, por lo que si
se nos olvida el enlace estar roto. Como muchas etiquetas, esta
tambin tiene opciones, uno de las ms usadas y ms detestadas por los
usuarios es target="_blank". Se recomienda no usarla porque
ltimamente los navegadores ms modernos disponen de solapas o
pestaas para navegar, mucho ms til que la apertura de un nuevo
navegador, adems los usuarios se quejan de que esta opcion coarta
su libertad: "Si quiero abrir un nuevo navegador para ver esa pgina
ya lo hago yo, no me obligues". Esta etiqueta pude usar distintos
protocolos siendo el ms comn http://, otros son, mailto: ftp://
news://. Esta etiqueta imprime una lnea horizontal separatoria.
Esta etiqueta modifica el tipo de fuente, su tamao, su tipo, su
color... veamos un ejemplo: este es un texto enriquecido Como vemos
se ha de cerrar con . Esta etiqueta hace que el texto comprendido
entre est escrito en cursiva. El acrnimo viene de italic. Esta
etiqueta hace que el texto comprendido entre est escrito en
negrita. El acrnimo viene de bold.Caracteres especialesEn el
castellano tenemos varios caracteres especiales que en ocasiones
HTML no entiende muy bien, estos son la , las tildes y los
comienzos de pregunta y admiracin. El problema fundamental por el
que un navegador puede no interpretar bien estos caracteres es
porque el programador ha elegido mal el conjunto de caracteres de
codificacin del texto, el charset, porque el navegador es antiguo y
no distingue entre codificaciones, o bien porque el servidor web
tiene una codificacin distinta a la que usa la pgina. Para
ahorrarnos estos problemas siempre que trabajemos con estos
caracteres usaremos los caracteres especiales del HTML estndar:q q
q q q q q qPara la : & ntilde; Para tilde en la a: &
aacute; Para tilde en la e: & eacute; Para tilde en la i: &
iacute; Para tilde en la o: & oacute; Para tilde en la u: &
uacute; Para el inicio de pregunta: & iquest; Para el inicio de
admiracin: & iexcl;En las tildes, si queremos ponerlas en
maysculas slo habra que sustituir la letra minscula que est despus
del ampersn por su equivalente en mayscula.FormulariosLos
formularios son herramientas con campos de texto, botones, menus
desplegables y/o campos seleccionables que se encuentran en muchas
webs, se suelen utilizar para hacer bsquedas, introducir datos,
etc. Realmente sirven para interactuar de alguna forma con la pgina
web enviando informacin que luego se procesar de alguna manera, en
nuestro caso ser va un script o programa en PHP. Los formularios
siempre se han de enviar a una pgina, puede ser la misma en la que
est el formulario o bien otra. Existen dos mtodos de enviar un
formulario, get y post, el primero enva todos los datos sin
encriptar y son visibles en el navegador, mientras que el segundo
los encripta y enva ocultos al navegador, lo que nos da seguridad a
la hora de enviar datos. Se define un formulario de mtodo post
como: Podemos tener distintos tipos de modificadores o campos en el
formulario: Botones de envo de datos... o de borrado de todos los
datos introducidos... cajas de texto de tamao 12 y longitud mxima
20... campos ocultos de nombre "oculto" y valor "16"... reas de
texto con 6 filas y 8 columnas de extensin... mens desplegables de
nica opcin... -------- Opcin 1 Opcin 2 mens desplegables de varias
opciones... Opcin 1 Opcin 2 Hay muchas ms opciones para incluir
dentro de un formulario, las anteriores son las ms tpicas y
bsicas.Ejemplo de una pgina HTML Pgina de prueba Este es el ttulo
de la pgina
Esto es un texto normal.
PHPQu es PHP?PHP es el acrnimo recursivo de "PHP: Hypertext
Preprocessor". Es un lenguaje multiplataforma de programacin
interpretado de alto nivel, pensado para desarrollos web y
empotrable en pginas HTML. La facilidad de PHP es que tiene muchas
funciones copiadas de C, Java y/o Perl, por ello su curva de
aprendizaje es exponencial. Lo que ve el cliente es el cdigo
ejecutado, es decir, el cliente solo ve lo que el cdigo PHP ha
producido, no la programacin de ste, como pasara con un Javascript.
PHP est llamado a sustituir a los vetustos CGIs (Common Gateway
Interface) que fueron unas de las primeras maneras prcticas de
crear contenido dinmico. En los CGIs el servidor web pasa las
solicitudes del cliente a un programa externo, como si fuese un
script en bash, y la salida es enviada al cliente como un archivo
esttico tradicional. Historia de PHP PHP/FI fu creado por Rasmus
Lerdorf en 1995 como un conjunto de scripts escritos en Perl para
controlar los accesos de su pgina. Fueron llamados Personal Home
Page Tools. Ms tarde fue ampliando su implementacin en C y hacer
posibles comunicaciones con bases de datos al tiempo que liber el
cdigo para que usuarios de todo el mundo le ayudasen. En 1997 se
lleg a la versin 2.0 de PHP/FI, segunda escritura de la
implementacin en C y se cree que varios miles de usuarios por todo
el mundo lo utilizaron. 50.000 dominios de la joven internet de
aquel entonces lo tenan instalado, alrededor del 1%. Aunque ya haba
mucha gente colaborando con el proyecto era bsicamente el trabajo
de una sola persona. PHP/FI 2.0 fue pronto sustituido por las
primeras versiones alfa de PHP 3.0. PHP 3.0 fue reescrito
completamente desde cero y se asemeja bastante al PHP con el que se
trabaja hoy da. Andi Gutmans y Zeev Zuraski fueron los autores de
PHP 3.0. Rasmus Lerdorf y estas dos personas decidieron anunciar
como sucesor ofical del PHP/FI al PHP 3.0 que se perfilaba como una
herramienta que podra crear aplicaciones comerciales. La
caracterstica principal de PHP 3.0 fue su gran extensibilidad,
provea adems una infraestructura slida y consistente para muchas
bases de datos, protocolos y APIs lo que atrajo a muchos
desarrolladores al proyecto que enviaron nuevos mdulos y
extensiones. En PHP 3.0 ya empezamos a ver soporte de sintxis
orientada a objetos. En 1998 se estimaba que cientos de miles de
sitios web lo tenan instalado, sobre un 10% del total. PHP 3.0 fue
liberado oficialmente en Junio de 1998, despus de muchos meses de
pruebas pblicas para comprobar su funcionamiento y robustez y
tambin para descubrir errores. PHP Como en todo proyecto Open
Source, en cuanto sale una Release, los desarrolladores se ponen a
trabajar en la siguiente, as pues a finales de 1998 Andi Gutmasn y
Zeev Suraski se pusieron a reescribir el ncleo de PHP para mejorar
la ejecucin deaplicaciones y la modularidad del cdigo base. El
nuevo motor diseado fue llamado Zend Engine y fue introducido a
mediadios de 1999. PHP 4.0 fue liberado con este motor en Mayo del
2000. Con soporte para la mayora de servidores web, sesiones HTTP,
caractersticas de seguridad y nuevas construcciones del lenguaje.
Ms del 20% de servidores de internet tienen instalado un servidor
con PHP hoy da. Existe una mejor implementacin del motor de PHP
tambin llamado Zend Engine que precompila las pginas y es mucho ms
eficiente en aplicaciones grandes, anque es de pago. PHP 5 fu
recientemente liberado con un soporte muy amplio para la
programacin orientada a objetos, claramente el futuro. PHP no es un
lenguaje que se interprete en el cliente o en el navegador, es un
lenguaje que interpreta el servidor y manda la salida en el formato
deseado (HMLT, XML...) al navegador. Esto quiere decir que no
necesitamos que nuestro navegador tenga ninguna caracterstica
especial para poder ver pginas web programadas en PHP.
REFERENCIAS:q q q(C) PHP Documentation Group Manual oficial de PHP
Manual de iniciacin a PHP del Grupo de usuarios de Informtica de la
UVA La wikipedia en espaolInstalando PHP en nuestro servidorLa
instalacin en el sistema GNU/Linux debian es ms que sencilla, en
sus tres versiones actuales (woody, sarge, sid o stable, testing,
unstable) tenemos disponible el paquete PHP 4. Nos haremos
superusuarios (root) de la mquina en una consola o en un terminal
desde el escritorio, con el comando: 'su -' Haremos una
actualizacin de los paquetes con el comando: 'apt-get update' y a
continuacin instalaremos php con: 'apt-get install php4' Suponemos
que ya tenemos instalado el servidor web apache, de lo contrario
instalaremos apache y php a la vez con: 'apt-get install apache2
libapache2-php4' El archivo de configuracin estar en el directorio
/etc/php4/apache2/ de nuestro sistema y en principio dejaremos todo
como el sistema lo ha instalado, ya que no necesitamos tocar las
configuraciones para empezar a jugar con PHP. Ms adelante veremos
cmo instalar PHP en una mquina que use Microsoft Windows y tambin
una referencia para instalarlo en un servidor MS-IIS.
RFERENCIA:q(C) PHP Documentation Group Manual oficial de
PHPHerramientas libres para escribir PHPCualquier editor de texto
por simple que sea puede ser usado para escribir PHP, desde el
omnipresente VI hasta los editores basado en escritorio como NVu,
Mozilla Composer, Bluefish o gPHPEdit. Nosotros usaremos durante
este curso Bluefish y gPHPEdit ya que el primero es capaz de
interpretar cdigos de otros muchos lenguajes y en concreto los dos
que nos interesan: HTML y PHP, y el segundo est pensado para PHP y
ofrece ms posibilidades en este sentido que Bluefish. NVu es un
programa muy completo pero an en una fase de desarrollo muy
temprana, es un potente editor WYSIWYG (What You See Is What You
Get, o lo que ves es lo que obtendrs), aspira a ser rival del
conocido Dreamweaver de Macromedia. Esta desarrollado por Linspire
(antigua Lindows). El Mozilla Composer es el editor que el paquete
de Mozilla trae para todas las plataformas en las que es posible su
ejecucin y tambin est bastante bien, es WYSIWYG pero tiene el
problema de que muchas veces aade demasiado cdigo extra a nuestras
pginas. Por lo general las ventajas de un WYSIWYG slo se ven cuando
uno se est iniciando en la programacin web, ms tarde se controla
todo mucho ms desde un editor corriente, habiendo mucha gente que
las programa desde VI, nano o joe. Para instalar bluefish en
nuestro escritorio, ya sea GNOME, KDE, XFCE u otro gestor de
ventanas cualquiera seguirmos los pasos que hemos dado para
instalar PHP, es decir, iremos a una consola o sacaremos un
terminal y nos haremos superusuarios (root). 'su -' Si hace falta
haremos un apt-get update y si no instalaremos directamente
'bluefish': 'apt-get install bluefish' Si estamos en GNOME o KDE
veremos que en el men correspondiente aparecer el programa
Bluefish, en XFCE podemos lanzarlo va consola o terminal o desde la
barra de ejecucin. RFERENCIAS:q q q qPgina web de gPHPEdit Pgina
web de Bluefish Pgina web de NVu Pgina web de MozillaSintaxis,
variables y operadoresUn archivo .php no es ms que un HTML con unos
caracteres especiales empotrados en la parte del cdigo que queremos
que el motor de PHP lo interprete. Los expresiones o etiquetas que
permiten al motor reconocer el cdigo que va a ejecutar son tres
principalmente , y pares de entrada/salida. Hay otros caracteres
que podemos editar en el archivo de configuracin php.ini pero no lo
haremos ya que la inmensa mayora de las veces se usa slo una pareja
de etiquetas que es la ms estndar y la que nuestros editores
bluefish y gPHPEdit reconocen perfectamente coloreando el cdigo, lo
que ayuda enormemente a su interpretacin. Para empotrar cdigo en
XML o XHTML el formato es obligatorio. Como curiosidad, decir que
el PHP tambin admite las etiquetas ASP/ASP.NET de entrada-salida de
cdigo.Primer script en PHPComenzando por el mismo (y odioso) primer
programa que todo el mundo hace en todo lenguaje tambin haremos el
conocido "HOLA MUNDO". Para hacer este script veremos la primera
funcin, la funcin echo que representa en pantalla lo que se
introduzca dentro de las comillas, y para finalizar la llamada a
cualquier funcin se escribe punto y coma ";", olvidarse el punto y
coma es un error muy tpico que todo programador ha sufrido muchas
veces, el punto y coma solo se puede obviar al final del cdigo, ya
que las etiquetas "?>" tambin indican el final de la
funcin.Vamos con el ejemplo, primero abrimos los tags (etiquetas)
de comienzo de script: las comillas se pueden sobrentender si en
lugar de sacar a pantalla un texto representamos una variable, el
ejemplo quedara as: Como vemos, las variables en PHP se declaran
con un smbolo dlar delante del nombre de nuestra variable, no hace
falta definir el tipo de variable como en otros lenguajes (C,
Pascal ...) simplemente se declara sta y se le da un valor. La
funcin echo tambin puede sacar por pantalla cdigo HTML, por
ejemplo, si queremos que nuestro "HOLA MUNDO" salga en lugar de con
la letra predefinida con una Times New Roman a un tamao distinto
del predefinido, como el "4", pondremos esto: La cuestin de porqu
se ponen barras antes de las comillas es simple, lo que queremos es
que escriba en pantalla literalmente lo que hay entre las comillas,
si ponemos entre medias del texto unas comillas la funcin creer que
hasta ese punto es donde tiene que procesar, para evitar esto se
ponen las barras delante de las comillas que queremos que procese.
En PHP tenemos varias maneras de mostrar la salida de una cadena o
variable, usaremos echo ya que es muy fcil y se ha comprobado que
es ms rpida que las dems otras dos, print, printf. La funcin print
sirve slo para imprimir una cadena, mientras que echo es capaz de
imprimir varias. La funcin printf es engorrosa por tener que andar
definiendo el formato de salida de las variables, ej: La insercin
de comentarios dentro del cdigo PHP es igual que en C o C++
pudindose comentar una lnea: o bien comentndose un prrafo:
REFERENCIAS:q q q(C) PHP Documentation Group echo (C) PHP
Documentation Group print (C) PHP Documentation Group
printfInstrucciones bsicasComo ya hemos dicho PHP es un lenguaje de
programacin interpretado por el servidor en el momento de la
demanda de carga de una pgina por un usuario. La forma de programar
en PHP, es muy parecida a C o javascript, lenguajes no desconocidos
para nosotros. Para que el contenido no sea slo texto PHP se ve
mezclado frecuentemente con etiquetas HTML para que el diseo de la
web sea ms atractivo a la vista. a vale 1 a NO vale 1 Vemos en este
ejemplo que el HTML y el PHP van mezclados y obtendremos una salida
u otra dependiendo del valor que tenga a. Si a=1 la pgina se vera
asi: a vale 1 si a es distinto de 1 se vera asi: a NO vale 1 La
tendencia actual es a separar el cdigo PHP (programacin) del HTML
(diseo), ya que es una labor que hoy hacen personas distintas en un
gran proyecto. Eso se consigue con templates o plantillas y con
clases, ya veremos como funcionan.Tipos de variablesPHP soporta
ocho tipos primitivos. Cuatro tipos escalares:* * * *boolean
(verdadero/falso, s/no, 1/0) se trata como TRUE o FALSE (1 o 0)
integer (nmero entero) float (nmero en coma-flotante, tambin
conocido como 'double') string (cadena de texto)Dos tipos
compuestos: * array (matriz de valores) * object (objetos) Y
finalmente dos tipos especiales: * resource (variable especial, que
contiene una referencia a un recurso externo) * NULL (variable no
tiene valor) PHP dispone de funciones que sirven para averiguar en
cada momento si una variable es nula o que tipo de dato contiene
(gettype($mivar);, is_int($entero) ), pongamos un ejemplo con
gettype(): Esto nos devolver "boolean", sin embargo si ponemos
entre comillas ("TRUE") obtendremos la salida "string" ya que no
identifica la variable como un booleana sino como una cadena de
texto.ConstantesEn PHP se pueden definir constantes: define
("saluda", "Buenas tardes."); En cualquier parte del cdigo saludo
siempre va a valer lo mismo, no puede cambiar su valor. Esto es til
para informacin esttica pero modificable como rutas a archivos, o
cadenas de conexin a bases de datos. No todos los nombres de
constantes estan libres PHP dispone de varias constantes
predifinidas, por ejemplo PHP_VERSION. Como vemos "saludo" no lleva
ningn tipo de comillas ni el smbolo $ de variable porque no es una
variable normal (podramos tener la variable $saludo) ni queremos
que se escriba literalmente "saludo".Estructuras de controlLas
estructuras tpicas de control de flujo son el if/elseif/else, el
while y el do ... while, el for y el foreach, el break, el continue
y el switch. Cada una de estas estructuras es controlada por una o
ms variables.if/elseif/else La estructura if corresponde al si del
pseudocdigo, puede incluir varias variables en la condicin, al
igual que elseif que sera un si_no, si en pseudocdigo o tambin
acompaada de un else, si_no en pseudocdigo, que no lleva variables
o parmetros de control. La expresin o variable es evaluada como
booleana, es decir, como VERDADERA o FALSA. Una tpica estructura de
control de este tipo en php podra ser: Cuando estas estructuras slo
tienen una sentencia implicada en su ejecucin podemos ahorrarnos
las llaves: pero conviene ponerlos para ver ms claramente cuando se
cierra y abre cada estructura. Un error muy frecuente es poner al
final del if un punto y coma ; lo que invalida el control de la
estructura. El echo se ejecutar siempre independientemente de la
estructura de control. REFERENCIAS:q q q(C) PHP Documentation Group
if (C) PHP Documentation Group else (C) PHP Documentation Group
elseifwhile La estructura while corresponde al mientras del
pseudocdigo, es controlada por una variable de condicin. El
comportamiento es igual al que toman estos bucles en C, siendo el
tipo de bucle ms fcil de implementar. while (parametro) sentencia
La estructura while le dice a PHP que ejecute la o las sentencias
anidadas dentro de su campo de control mientras la variable o
parmetro de control sea verdadera/o. El valor de la variable o
parmetro de control se evala al principio del bucle antes de
ejecutar las sentencias. Si el resultado de la evaluacin es falso
la primera vez que se entra en el bucle no se ejecutar ninguna
sentencia. Como con la estructura if, se pueden anidar varias
sentencias dentro del bucle while con llaves o bien con la forma
alternativa: bien mediante llaves: REFERENCIAS:q(C) PHP
Documentation Group whiledo ... while Los bucles do ... while son
similares a los bucles while salvo que las condiciones de repeticin
del bucle son comprobadas al final del bucle en lugar de al
principio. La diferencia principal es que se garantiza la ejecucin
del bucle al menos una vez. Existe una sla sintaxis para los bucles
do ... wile. En el ejemplo de arriba, el bucle slo se ejecutar una
vez ya que cuando se comprueba la condicin, sta resulta ser falsa:
$i es igual a '0' y no mayor que '0' Este script s que nos hara una
cuenta atrs de 10 a 1. REFERENCIAS:q(C) PHP Documentation Group do
... whilefor La estructura de control de flujo for corresponde al
para de pseudocdigo y est controlada por tres parmetros, uno de
comienzo, uno de fin y uno de paso incremental. for (expresin1;
expresin2; expresin3) sentencia La primera expresin ('expresin1')
se evala incondicionalmente una vez al principio del bucle. Al
comienzo de cada iteracin, se evala 'expresin2'. Si es evaluada
como VERDADERA el bucle contina y las sentencias anidadas se
ejecutan. Si es evaluada como FALSA la ejecucin del bucle finaliza.
Al final de cada iteracin, se evala 'expresin3'. Cada una de las
expresiones puede estar vaca. Que 'expresin2' est vaca significa
que el bucle debera correr indefinidamente (PHP implicitamente lo
considera como VERDADERA, al igual que C). Esto puede que no ser
tan intil como podra pensarse, puesto que a menudo se quiere salir
de un bucle usando una sentencia break condicional en vez de usar
la condicin de for. Ejemplo tpico de estructura for: Con la
estructura anterior pasaremos por todos los nmeros del 0 al 9, si
queremos incluir el 10 cambiaramos el menor_que por un menor_que o
igual_que: for ($contador=0; $contador aunque procuraremos usar la
forma de declarar con llaves ya que est ms extendida y en un cdigo
amplio las llaves ayudan mucho a identificar los bucles.
REFERENCIAS:q(C) PHP Documentation Group forforeach La construccin
foreach es un mtodo construido especficamente para operar sobre
matrices y vectores, esto facilita mucho la utilizacin de este tipo
de variables. La sentencia devuelve un error si se usa sobre
cualquier tipo de datos que no sean matrices o vectores. Hay dos
posibles sintaxis para foreach: foreach(expresion_vector as $valor)
sentencia foreach(expresion_vector as $llave => $valor)
sentencia Cada una de las sintaxis recorre uno a uno los elementos
que forman el array dado por expresion_vector. En cada iteracin, el
valor almacenado en expresion_vector se asigna a $valor, de forma
que al finalizar el bucle todos los elementos de expresion_vector
quedar almacenado en $valor. La segunda sintaxis hace lo mismo,
salvo que slamente asignar la clave del elemento que est
recorriendo en ese momento en la variable $llave. Cuando nos
referimos a la clave del elemento estamos haciendo referencia a un
array multidimensional en el que los elementos almacenados estn
especificados en distintos campos. Esto resulta muy til cuando
almacenamos elementos en un array que tienen distintos parmetros
que interesan ser referenciados de forma distinta (un buen ejeplo
sera una agenda telefnica en el que podramos distinguir la clave
nombre y la clave telfono). Cuando foreach comienza por primera vez
a ejecutarse, el puntero interno a la matriz o vector se reinicia
automticamente al primer elemento de la matriz. Esto hace que no
sea necesario llamar a reset() antes de un bucle foreach. La
estructura foreach trabaja con una copia de la matriz y no con ella
en s, por eso el puntero de la lista no se modifica a diferencia de
laestructura each(), adems los cambios en el elemento de la matriz
devuelto no afectan a la matriz original. Ejemplo de uso de
foreach: En este ejemplo los dos scripts hacen lo mismo, pero como
vemos es ms sencillo el implementado con foreach ya que no tenemos
que acordarnos de resetear el vector. Otros ejemplos ms completo de
foreach: REFERENCIAS:q(C) PHP Documentation Group foreachbreak La
sentencia break hace que se finalice una estructura de control, slo
es aplicable en bucles for, while, o switch. Accepta un parmetro
opcional, el cual determina de cuantas estructuras de control hay
que escapar. Ejemplo de uso de break: Al ejecutar este script
veremos que se para en los valores "5" y "10", si queremos
comprobar todos los valores slo tendremos que introducir una pequea
modificacin al script entre el while y el switch: while (++$i) {
echo "$i
"; switch ($i) { La mayora de las veces break se utiliza junto con
switch y sin el parmetro opcional. REFERENCIAS:q(C) PHP
Documentation Group breakcontinue La sentencia continue se usa
dentro de la estructura de un bucle para saltar el resto de la
iteracin actual del bucle y continuar la ejecucin al comienzo de la
siguiente iteracin. Hay que tener en cuenta que en PHP switch es
considerada como una estructura de bucle por continue. continue
accepta un parmetro opcional, el cual determina cuantos niveles
(bluces) hay que saltar antes de continuar con la ejecucin. En
bucle while que tienen un "1" dentro, es equivalente a poner TRUE y
se refiere a la expresin del primer 'while', sermenor que 5, si
cambiamos el "1" por un "0" lo que pasara es que no se ejecutara
ninguno de los dos bucles y s los dos echo(s) que estn debajo.
Realmente la estructura continue se usa muy poco en scripts
normales o de programadores noveles. REFERENCIAS:q(C) PHP
Documentation Group continueswitch La sentencia switch es
equivalente a una serie de sentencias if en la misma expresin. En
muchas ocasiones se quiere comparar la misma variable (o expresin)
con nuchos valores diferentes, y ejecutar una parte de cdigo
distinta dependiendo de a qu valor es igual. Para ello sirve la
sentencia switch. Nota: Tener en cuenta que al contrario que otros
lenguajes de programacin, continue se aplica a switch y funciona de
manera similar a break. Si teneis un switch dentro de un bucle y
deseais continuar con el paso siguiente en el bucle externo, usar
continue 2. Los siguientes dos ejemplos son dos modos distintos de
escribir la misma cosa, uno usa una serie de sentencias if, y el
otro usa la sentencia switch: