Modulo #1 PHP
Modulo #1 PHP
PHP
En este Módulo:
Definición de PHP
Características.
Variables y Constantes.
Operadores.
Estructuras de Control.
Funciones.
Arreglos.
módulo 1
Índice de Contenidos
MÓDULO I . PHP
¿Qué es php? 09
Algo de historia 10
Ventajas de php 10
Requisitos necesarios 10
Otras utilidades 10
El lenguaje php 11
Comentarios 11
Variables y constantes en php 11
Operadores 12
Orden de precedencia 14
Estructuras de control 14
Instrucciones condicionales 15
Switch 15
Instrucciones de bucle 15
Funciones 19
Parámetros de las funciones 20
Arreglos o Tablas 23
Cuestionarios de preguntas 26
Actividad final integradora 27
Glosario 28
Bibliografía 28
Módulo 1 | PHP PHP y MSQL
PHP
El fácil uso y la similitud con los lenguajes más comunes gina web, el servidor ejecuta el intérprete de PHP, el cual
de programación estructurada, como C y Perl, permiten a procesa el script solicitado que generará el contenido de
la mayoría de los programadores experimentados crear manera dinámica, y regresa el resultado al servidor, el
aplicaciones complejas. También les permite involucrar- cual se encarga de regresárselo al cliente.
se con aplicaciones de contenido dinámico sin tener que
aprender todo un nuevo grupo de funciones y prácticas.
Su interpretación y ejecución se da en el servidor, y el
cliente sólo recibe el resultado de la ejecución ya que
este no puede resolver código PHP. Cuando el cliente La sigla PHP significa (Personal Home Page)
hace una petición al servidor para que le envíe una pá-
9
PHP y MSQL Módulo 1 | PHP
Algo de Historia
PHP fue creado por Rasmus Lerdorf a finales de 1994, APPSERV,XAMPP y WAMP son
aunque no hubo una versión utilizable por otros usuarios aplicaciones que brindan la po-
hasta principios de 1995. Esta primera versión se llamó, sibilidad de instalar y configurar
Personal Home Page Tools. facilmente el Servidor Web Apa-
Al principio, PHP sólo estaba compuesto por algunas che, Modulo de PHP y Base de datos MYSQL en
macros que facilitaban el trabajo a la hora de crear una un solo paso.
página Web. Hacia mediados de 1995 se creo el analiza-
dor sintáctico y se llamó PHP/F1 Versión 2, y sólo recono-
cía el texto HTML y algunas directivas de mSQL. A partir
de este momento, la contribución al código fue pública.
El crecimiento de PHP desde entonces ha sido expo- Una vez instalado Servidor, Mo-
nencial, y han surgido versiones nuevas como la actual, dulo PHP y MSQL,colocamos en
PHP3 y la incipiente PHP4. el explorador web la direccion
http:\\localhost, si esta todo
correctamente instalado debe-
Ventajas de PHP ria conectarse al servidor local y mostrar una página
informativa
• Es un lenguaje multiplataforma, permite ser ejecuta-
do en la mayoría de los Sistemas Operativos (Unix, Linux,
Windows, Mac, etc).
• Capacidad de conexión con la mayoría de los mane- Otras utilidades
jadores de base de datos que se utilizan en la actualidad
(MySql, Postgres, Oracle, SqlServer, dBase, Informix, etc.). • Herramientas para la gestión de Base de datos MyS-
• Leer y manipular datos desde diversas fuentes, in- ql (PHPMyAdmin, Dbtools)
cluyendo datos que pueden ingresar los usuarios desde • Editores de PHP (DevPHP, Dreamweaver, PHP Admin)
formularios HTML. • Manuales de PHP y MySQL.
• Es libre, por lo que se presenta como una alternativa
de fácil acceso para todos.
• Permite las técnicas de Programación Orientada a
Objetos.
• Puede interactuar con los servidores de web más po-
pulares como por ejemplo Apache que es el servidor que
mejor soporte posee para plataformas no Unix.
Actividades
Responder Verdadero o Falso:
Requisitos Necesarios
Hasta aquí, aprendimos los
• Navegador o Browser (Internet Explorer, Netscape, puntos basicos que nos per-
Opera, etc.). mitiran avanzar y asimilar la
• Servidor Web Apache (www.apache.org) forma de trabajo para generar
• Módulo de PHP (www.php.net). aplicaciones web con la utili-
• Base de datos(MySql, Oracle, Informix, etc.) si se de- zacion de PHP en conjunto
sea crear páginas dinámicas, la más utilizada es MySql con otras tecnologias.
(www.mysql.com).
10
Módulo 1 | PHP PHP y MSQL
Separación de Instrucciones
Las instrucciones se separan con ‘;’, en el caso de ser
la última instrucción no es necesario el punto y coma. Variables y constantes en PHP
<?
$a=3; Variables
echo $a;
<? Como es bien sabido, las variables son piezas básicas
en el juego de la programación. Se trata del almacén que
contiene nuestros datos, y que nosotros etiquetamos con
un nombre.
Verificar siempre colocar “;” al fi-
nal de una instrucción ya que su Una regla que debemos respetar es la siguiente: to-
olvido se marcará como error de dos los nombres de las variables deben empezar con
sintaxis al ejecutar la página. el carácter $. Pero esta no es la única. Al igual que en
otros lenguajes, un nombre válido de variable puede ser
cualquier combinación de letras y/o números (incluyen-
do caracteres ASCII del 127 al 255) siempre y cuando
Comentarios el nombre de la variable comience por una letra o por
el carácter subrayado. Por tanto, $_MiVariable y
Los comentarios en PHP son muy importantes, ya que $MiVariable son nombres válidos de variables, pero
ayudan a otras personas a comprender lo que hacemos $3MiVariable no lo es. Debemos prestar atención a
con nuestras líneas de código. las mayúsculas y minúsculas ya que PHP reconoce la di-
En primer lugar, podemos utilizar //, para comentarios ferencia entre las dos, no es lo mismo escribir $MiVa-
en una sola línea, pero si, por el contrario, queremos uti- riable que $miVariable ya que al cambiar una
lizar varias lineas de comentarios, utilizaremos /* para letra la convierte en dos variables totalmente distintas.
comenzar el comentario y */ para terminarlo. Para asignar las variables, utilizaremos el símbolo ‘=’.
A pesar de que al declarar una variable no le estamos
<? //Con este ejemplo vemos la configu- asignando un tipo, la variable será del tipo de dato que
ración de php le asignemos en cada momento. Esto no significa que no
phpinfo(); // podemos comprobar que paráme- existan los tipos de datos en PHP, sí que existen, de entre
tros tenemos activados los que tenemos:
>? // o desactivados. - Números enteros (integer) (20,25,5-10).
<? - Números reales (float, double) (1.234,-5.33,1.2e3).
phpinfo(); /* Con este ejemplo vemos la confi- - Lógico (bolean) (true, false).
11
PHP y MSQL Módulo 1 | PHP
Constantes $marca
$3var
Tenemos, por otro lado, las constantes. Una constante $_dAtos
es un trozo de memoria que contendrá un valor fijo que $”datos2
asignaremos al principio. En PHP, para definir una cons- $datos
tante tenemos la función:
define(“CONSTANTE”, valor);
Como se ve, el nombre que queramos darle a la cons-
tante debe ir entre comillas. Por ejemplo, si queremos
definir una constante famosa como el número PI, podre-
mos hacer:
define(“PI”, 3.1515926); Operadores
dentro de nuestro código PHP. Además, podremos usar
tranquilamente el nombre de esa constante para usar su Podemos tener cientos de variables definidas en el
valor. Por ejemplo, si queremos calcular el valor de 2PI, programa, pero no nos servirían de mucho si no pudiéra-
podremos escribir: mos combinarlas realizando distintas operaciones (como
$Variable = 2*PI; sumar, restar, concatenar cadenas, etc.). Estas operacio-
sin necesidad de volver a poner el valor de PI, pues lo nes entre variables vienen representadas por distintos
tenemos definido en una constante. operadores, que vamos a ver aquí en unas tablas separa-
Por otra parte, antes de usar una constante que no do por el tipo de operación que realicen.
estemos seguro si existe o no, podríamos comprobar
mediante alguna función que esté definida. Para ello te- Operadores Aritméticos
nemos la función defined, a la que le pasamos como
argumento el nombre de la constante, entre comillas, y
Ejemplo Nombre Resultado
ella nos dirá si está definida o no lo está.
$a + $b Adición Suma de $a y $b.
$a - $b Substracción Diferencia entre $a y $b.
A diferencia de las variables, $a * $b Multiplicación Producto de $a and $b.
una constante no puede mo- $a / $b División Cociente de $a entre $b.
dificar su valor a lo largo del $a % $b Módulo Resto de $a dividido
script. entre $b.
12
Módulo 1 | PHP PHP y MSQL
Operadores de Comparación
Operadores Lógicos
Result Result
V V V V V V
V F F V F V
F V F F V V
F F F F F F
Operadores de Asignación
Ejemplo Resultado
13
PHP y MSQL Módulo 1 | PHP
14
Módulo 1 | PHP PHP y MSQL
<?
$a=4;
Es importante al momento de $b=5;
plantear la condición, que esta if($a>$b){
en algun momento sea verdadera echo(“a es mayor a b”);
sino el codigo PHP dentro del if nunca llegaria }elseif ($a==$b){
a ejecutarse echo(“a es igual a b”);
}else{
echo(“b es mayor que a”);//Este es el mensaje que
Instrucción else se mostraría ya que la condición en el
A menudo queremos ejecutar una sentencia si se cum- //if y la condición en el elseif
ple una cierta condición, y una sentencia distinta si la son falsas, por ende $b es mayor
condición no se cumple. Esto es para lo que sirve else. //que $a
}
if (Condición) { Se ejecuta si la condi- ?>
Código PHP ción es Verdadera
} else {
Código PHP Se ejecuta si la condi-
} ción es Falsa Se puede utilizar la estructura
if…..elseif sin necesidad de
Como vemos nunca se ejecutarán las 2 porciones de colocar else al final
código, ejecutándose una o la otra de acuerdo al resul-
tado de la condición
<?
$a=3; Switch
$b=2;
if($a>$b){ La sentencia switch es similar a una serie de sen-
echo $a; //Muestra 3 ya que la condición resul- tencias IF en la misma expresión. En muchas ocasiones,
tó Verdadera porque 3 es mayor a 2. se quiere comparar la misma variable (o expresión) con
}else{ muchos valores diferentes, y ejecutar una parte de códi-
15
PHP y MSQL Módulo 1 | PHP
go distinta dependiendo de a qué valor es igual. Para ello Un case especial es el default case. Este case coincide
sirve la sentencia switch. con todo lo que no coincidan los otros case. Por ejemplo:
<? <?
$i=0; $i=4;
switch ($i) { //De acuerdo al valor de switch ($i) {
$i es lo que se mostrará case 0:
case 0: //Al ser $i=0 las sentencias print “i es igual a 0”;
debajo del case son las que se break;
// ejecutaran case 1:
print “i es igual a 0”; //Esto es lo que se mos- print “i es igual a 1”;
traría break;
break; //Con está sentencia se sale case 2:
del Switch evitando ejecutar el resto print “i es igual a 2”;
// de los case break;
case 1: default:
print “i es igual a 1”; print “i no es igual a 0, 1 o 2”; // Esto es lo que
break; se mostraría ya que al ser $i=4 no
case 2: //entraría en ningún
print “i es igual a 2”; case, como vemos no hace falta
break; //colocar un break
} dentro de default
?> }
Es importante entender cómo se ejecuta la sentencia ?>
switch para evitar errores. La sentencia switch eje- La expresión case puede ser cualquier expresión que
cuta línea por línea (realmente, sentencia a sentencia). Al se evalúe a un tipo simple, es decir, números enteros o
comienzo, no se ejecuta código. Sólo cuando se encuen- de punto flotante y cadenas de texto. No se pueden usar
tra una sentencia case con un valor que coincide con el aquí ni arrays ni objetos a menos que se conviertan a un
valor de la expresión switch PHP comienza a ejecutar tipo simple.
las sentencias. PHP continúa ejecutando las sentencias
hasta el final del bloque switch, o la primera vez que
vea una sentencia break. Si no se escribe una senten-
cia break al final de una lista de sentencias case, PHP
seguirá ejecutando las sentencias del siguiente case.
switch ($i) {
Actividades
case 0:
print “i es igual a 0”; 1) Cite las diferencias entre las estructuras
case 1: if….else y if…else if….else.
print “i es igual a 1”;
case 2:
print “i es igual a 2”;
}
Aquí, si $i es igual a 0, se ejecutaría todas las sentecias
print!. Si $i es igual a 1, se ejecutaría las últimas dos
sentencias print y sólo si $i es igual a 2, se obtendría la
conducta ‘esperada’ y solamente se mostraría ‘i es igual
a 2’. Así, es importante no olvidar las sentencias break.
2) En que caso seria conveniente utiizar la
estructura Switch.
16
Módulo 1 | PHP PHP y MSQL
<?
3) Analise los siguientes códigos y elija la op- $a=1;
cion correcta while ($a <= 5) {
<? print $a;
$color=”negro”; $a++;
Switch($color){ }
case “blanco”: ?>
echo “el color seleccionado es blanco”; El código anterior mostraría los valores 1 2 3 4 5 y que
break; se realizan 5 iteraciones, o sea se ejecuta 5 veces el códi-
case “negro”: go dentro del while. En el caso de que no colocara $a++,
echo “el color seleccionado es negro”; nunca saldría del bucle ya que la condición siempre sería
break; verdadera y mostraría infinitos 1.
case “rojo”:
echo “el color seleccionado es rojo”;
break;
}
En todas las estructuras iterativas
?>
hay que tener la precaucion de
no caer en un bucle infinito ya
¿Qué es lo que se muestra por pantalla?
que esto produciria la caida del
a) el color seleccionado es blanco
servidor.
b) el color seleccionado es negro
c) el color seleccionado es negro el color seleccio-
nado es rojo
d) No muestra nada Instrucción do..while
17
PHP y MSQL Módulo 1 | PHP
Muestra el mensaje “Se ejecuta”, incrementa $a en $a y vuelve a evaluar la condición que al ser verdadera
uno, evalúa la condición y como esta da falsa sale del ejecuta nuevamente print $a;, volviendo a incrementar
bucle. en 1 $a, así se repite los paso hasta que la condición sea
Como se puede observar al menos se ejecuto una vez falsa y es en ese momento que sale del bucle for.
el código dentro del do..while. Lo que mostraría el código serían los valores 1 2 3 4 5.
<? <?
$a=1; for ($a=1;$a<4;$a++){
do{ echo $a;
print $a; if($a==3){
$a++; echo(“salio”);
} while ($a <= 5); break ; //Cuando $a sea igual a 3 se
?> muestra el cartel “salio”ejecutando
Mostraría los valores 1 2 3 4 5 //posteriormente la sentencia
break abandonando de esta forma el
//bucle while
Instrucción for }
}
Los bucles for son los bucles más complejos en PHP. Se ?>
comportan como su contrapartida en C. La sintaxis de un El resultado final del código sería: 1 2 3 salio
bucle for es:
for (exp1;exp2;exp3) {
Código PHP
Las estructuras while, do…
}
while y for pueden ser inter-
La primera expresión (expr1)(inicialización de la varia-
rumpidas con la sentencia
ble) se evalúa (ejecuta) incondicionalmente una vez al
break. El uso de la sentencia
principio del bucle.
break debe ser con mucho cui-
Al comienzo de cada iteración, se evalúa expr2 (con-
dado ya que al interrumpir cualquier estructura itera-
dición que queremos que se cumpla) . Si se evalúa como
tiva puede a veces ocacionar resultados inesperados.
TRUE, el bucle continúa y las sentencias anidadas (códi-
go dentro del for) se ejecutan. Si se evalúa como FALSE,
la ejecución del bucle finaliza.
Al final de cada iteración, se evalúa (ejecuta) expr3
(incremento o decremento de la variable).
Otra sentencia importante en los bucles es continue
que se utiliza para saltar el resto de la iteración actual
del bucle y continuar la ejecución al comienzo de la si-
Cada una de las expresiones guiente iteración.
puede estar vacía. Que expr2
esté vacía significa que el bucle <?
debería correr indefinidamente for ($a=1;$a<4;$a++){
(PHP implicitamente lo considera como TRUE).
if($a==2){
echo(“no muestra el 2”);
Veamos un ejemplo: continue; //Al ejecutarse esta sentencia,
incrementa el contador en 1 y evalúa la
<? //condición $a<4, o sea abandona
for($a=1;$a<=5;$a++){ la actual iteración y comienza una
//nueva.
print $a; }
} echo $a;
?> }
?>
Con este sencillo ejemplo analizáremos como es el El resultado final seria 1 no muestra el 2
funcionamiento del bucle for:
Lo primero que hace es asignar a $a el valor 1, luego
verifica que se cumpla la condición $a<=5, al ser verda-
dera, ejecuta print $a;, posteriormente incrementa en 1
18
Módulo 1 | PHP PHP y MSQL
Funciones
La instrucción RETURN
Cuando invocamos una función, la ejecución del pro-
grama pasa a ejecutar las líneas de código que contenga
3) Encuentre el o los errores del siguiente la función, y una vez terminado, el programa continúa su
código. ejecución desde el punto en que fue llamada la función.
Existe una manera de terminar la ejecución de la fun-
<? ción aunque aún haya código por ejecutar, mediante el
$a=1; uso de la instrucción return terminamos la ejecución del
do{ código de una función y devolvemos un valor..
$b=$a+1;
eccho $b;
$a++
while($a>4);
?> Podemos tener varios return en
nuestra función, pero por lo general,
cuantos más return tengamos me-
nos reutilizable será nuestra función .
19
PHP y MSQL Módulo 1 | PHP
20
Módulo 1 | PHP PHP y MSQL
carácter.
//a mostrar luego del primer
Funciones Matemáticas
abs (mixed number)
Devuelve el valor absoluto de un número. Si el número
del argumento es decimal, el tipo de retorno también es
decimal, de otra manera devuelve un entero.
echo abs(-2);//muestra 2
pow (float base, float exp)
Devuelve base elevado a la potencia de exp.
echo pow(2,2)//muestra 4
21
PHP y MSQL Módulo 1 | PHP
Actividades
1) Colocar en los distintos casos que se mostraria por pantalla.
<?
$a=”miercoles”;
echo ucfirst($a);
$b=ord($a);
echo $b;
echo strtoupper($a);
$c=124.458;
echo round($c,2);
$d=floor($c);
echo $d;
$e=”marciano”;
echo strlen($e);
$d=substr($e,2);
echo substr($e,2,2);
?>
22
Módulo 1 | PHP PHP y MSQL
23
PHP y MSQL Módulo 1 | PHP
24
Módulo 1 | PHP PHP y MSQL
3) Colocar en los distintos casos que se mos- Otra forma de poder acceder
traria por pantalla. a los valores de tablas multi-
dimensionales es a traves de
<? dos estructuras iterativas, una
$animales=array(“perro”,”gato”,”conejo”,”cab adentro de otra.
allo”);
echo count($animales);
end($animales);
echo current($animales); Otras funciones útiles para el manejo de arreglos
reset($animales);
echo current($animales); sort(array);
next($animales); La función sort ordena un arreglo de menor a mayor.
echo pos($animales); $a=array(6,2,8,4);
?> sort($a);// Una vez ejecutada esta sentencia el arreglo
quedaría 2,4,6,8.
25
PHP y MSQL Módulo 1 | PHP
rsort(array);
La función rsort ordena un arreglo de mayor a menor.
$a=array(6,2,8,4);
rsort($a);// una vez ejecutada esta sentencia el arreglo
quedaría 8,6,4,2.
26
Módulo 1 | PHP PHP y MSQL
Actividades
Actividad Final Integradora
Describir que muestra los siguientes códigos:
<? <?
$a=”perro”; $a=array(3,4,6,9,8,5);
echo strlen($a); for($i=0;$i<6;$i++){
echo substr($a,1,1); if($i%2==1){
$b=4.586; echo $a[$i];
echo round($b,2); }
$c=2; }
$d=3; ?>
echo pow($c,$d);
?>
<? <?
$a=2; function quehace1($c){
$b=3; if($c<3){
$count=1; $c=$c+3;
$result=1; return $c;
while($count<=$b){ }else{
$result=$result*$a; $c=$c*2;
$count++; return $c;
} }
echo $result; }
?> $a=4;
echo quehace1($a);
?>
<?
$a=4;
switch($a){
case ($a<3):
echo “muestra el 3”;
break;
case ($a<5):
echo “muestra el 4”;
default:
echo “muestra otra cosa”;
break;
}
?>
27
PHP y MSQL Módulo 1 | PHP
Glosario
• ARREGLO: Un arreglo puede definirse como un grupo o
una colección finita, homogénea y ordenada de elemen-
tos
• CONSTANTE: En programación, una constante es un
valor que no puede ser alterado durante la ejecución de
un programa.
• FUNCIÓN: una función es un grupo de instrucciones
con un objetivo en particular y que se ejecuta al ser lla-
mada desde otra función o procedimiento. Una función
puede llamarse múltiples veces e incluso llamarse a sí
misma (función recurrente).
Las funciones pueden recibir datos desde afuera al ser
llamadas a través de los parámetros y deben entregar un
resultado.
• HTML: Lenguaje de ´script´ o de marcas para diseñar
páginas Web para creación y compartición de documen-
tos electrónicos
• PALABRA CLAVE O RESERVADA: Una palabra clave
(o palabra reservada) es una palabra definida como parte
del lenguaje de programación, Un nombre de palabra
reservada no se puede utilizar para otro propósito.
• OPERADOR: Operaciones para valores de tipos primi-
tivos de datos. Ejemplos de operadores son +,-,*,/ y %
• PARAMETROS: Un parámetro es un tipo de variable
que es recibida por una función, procedimiento o subru-
tina. Un parámetro influye en el comportamiento o el re-
sultado de la ejecución de la función. Son muy utilizados
en la programación.
• PHP: Lenguaje de programación usado generalmente
en la creación de contenidos para sitios web. Es un len-
guaje interpretado especialmente usado para crear con-
tenido dinámico web y aplicaciones para servidores.
• SCRIPT: Los scripts son un conjunto de instrucciones
generalmente almacenadas en un archivo de texto que
deben ser interpretados línea a línea en tiempo real para
su ejecución, Los scripts pueden estar embebidos en
Bibliografía
otro lenguaje para aumentar las funcionalidades de este,
como es el caso los scripts PHP en código HTML. Flash, PHP y MySQL– Daniel De La Cruz
• SERVIDOR WEB: En Internet, un servidor es un ordena- Heras, Carlos Zumbado Rodríguez – ISBN: 84-
dor remoto que provee los datos solicitados por parte de 415-1934-X.
los navegadores de otras computadoras. Los Servidores
almacenan información en forma de páginas web y a Curso de Programación PHP – Francisco
través del protocolo HTTP lo entregan a petición de los Minera – ISBN: 978-987-1347-81-0.
clientes (navegadores web) en formato HTML. Creación de un portal con PHP y MySQL–
• VARIABLE: En programación, las variables son espacios Jacobo Pavón Puertas – ISBN: 84-7897-633-
reservados en la memoria que, como su nombre indica, 7.
pueden cambiar de contenido a lo largo de la ejecución
de un programa.
28