Académique Documents
Professionnel Documents
Culture Documents
<% .... %> Slo si se activan las etiquetas para ficheros 'asp'
con la bandera de configuracin asp_tags.
<html>
<body>
<b>Hagamos una suma</b>:<BR>
<?php
$numero = 3 ;
$contador = 2.5 ;
$suma = $numero + $contador;
echo $suma;
?>
<BR><HR><BR>
<I>Y ahora mostraremos la fecha de hoy</I> <BR>:
<?php
$fecha = date("Y\-n\-j H\:i\:s");
echo $fecha;
?>
</body>
</html>
Para ejecutarlo debemos guardar ese documento de texto con
extensin .php en el espacio web de tu servidor (si estamos usando
XAMPP, debe estar en c:\xampp\htdocs\ ). Supongamos que le
damos por nombre variables.php. Una vez hecho eso, abrimos un
navegador web, y teniendo lanzado en el panel de control de XAMPP
el servidor Apache, nos conectamos en el navegador a la siguiente
URL: http://localhost/variables.php
Como resultado, en el navegador veremos el resultado de ejecutar
nuestro script PHP (en este caso, el valor de la suma de esas variables
numricas seguido de un mensaje en cursiva, la fecha y la hora).
En este ejemplo vemos que se pueden poner tantos bloques de
cdigo PHP como queramos dentro del cdigo HTML (aunque en
3. Arrays
Para trabajar con un array (o vector de valores), podemos imaginar
que disponemos de una cajonera en la que los cajones estn
numerados. De esta forma, podramos acceder al elemento i-simo de
la cajonera, y lo que estaremos haciendo es acceder al elemento isimo del array.
Los Arrays en PHP se pueden utlizar tanto como Arrays indexados o
como Arrays asociativos. En realidad no existe ninguna diferencia
entre ellos. Cuando estemos aadiendo datos a un array, si no se
especifica el ndice del elemento al que queremos acceder, se
entender que queremos asiganr el valor aadiendo el dato al final
(como ltimo elemento).
Uno de los usos ms comunes al usar un vector de datos es
almacenar elementos que sern ordenados posteriormente. As, los
arrays pueden ser ordenados utilizando las siguientes funciones:
asort(), arsort(), ksort(), rsort(), sort(), uasort(), usort() y uksort().
Otras operaciones muy comunes son el recuento de elementos y el
recorrido de los datos almacenados en el array, que se pueden
realizar con las funciones: count(), next(), prev() y each().
Arrays indexados
Un array indexado almacena cada elemento con un ndice asociado.
Hay dos formas de crear un array de este tipo:
1. Crear el array automticamente, comenzando en el ndice 0
(asignado al primer valor):
$nombres=array("pepe","juan","luisa","antonia");
$edad['Pedro'] = "32";
$edad['Juan'] = "30";
$edad['Antonio'] = "34";
La forma de usar estos arrays en un script es:
<?php
$edad['Pedro'] = "32";
$edad['Juan'] = "30";
$edad['Antonio'] = "34";
echo "Pedro tiene " . $edad['Pedro'] . " aos.";
?>
Arrays Multidimensionales
Podemos trabajar tambin con matrices multidimensionales, como
por ejemplo, una matriz cuadrada (dos dimensiones).
Para dar soporte a los arrays multidimensionales en PHP se combinan
las propiedades de un array unidimensional. Los ndices de un array
multidimensional pueden ser tanto numricos como asociativos.
La idea es que cada elemento del array principal ser a su vez un
array:
$matriz = array(
0 => array(5,8,2),
1 => array(4,6,1)
);
echo " $matriz[0][1] \n";
echo " $matriz[1][0] \n";
Este ejemplo nos mostrar por pantalla el 8 y el 4, ya que hemos
accedido a los elementos (0,1) y (1,0) de ese array multidimensional
(matriz cuadrada).
Incluso, podemos hacer que cada elemento de cada sub-array sea
<?php
$nombres=array("pepe","juan","luisa","pepa");
unset( $nombres[0] );
unset( $nombres );
?>
4. Expresiones y operadores
Una expresin es una combinacin de operadores y operandos que al
ser evaluados generan un valor. Los operandos suelen ser nombres de
variables o constantes, pero tambin pueden ser funciones (ya que
devuelven un valor). La evaluacin de una expresin da lugar a otro
valor (normalmente un nmero o una cadena de caracteres, aunque
puede ser tambin un valor lgico, etc).
Las expresiones ms simples son las variables y las constantes y
otras ms complicadas sern las funciones, puesto que cada funcin
devuelve un valor al ser invocada, es decir, contiene un valor, por lo
tanto, es una expresin.
Al igual que cuando evaluamos expresiones matemticas, al
programar las expresiones se evalan de acuerdo con la precedencia
de los operadores. Ante una secuencia de operadores de igual
precedencia, la evaluacin se realiza segn el orden de escritura, de
izquierda a derecha. El orden de evaluacin puede modificarse
usando parntesis.
Existen diferentes tipos de operadores: aritmticos, de asignacin, de
comparacin y lgicos. En realidad, todos los operadores, y la forma
de usarlos es muy similar en todos los lenguajes de programacin. De
hecho, las expresiones en PHP se parecen mucho a las otros
lenguajes como el C, Java o Perl.
Las siguientes tablas muestran los diferentes operadores disponibles
en PHP:
Operadores aritmticos
Operadores de asignacin
Operadores de comparacin
Operadores lgicos
5. Estructuras de control
Condicionales
<html><body>
<?php
$d=date("D");
if ( $d == "Fri" )
echo "es viernes";
else
echo "es otro da diferente al viernes";
?>
</body></html>
Para representar una estructura de varios casos se utilizar la sintaxis
siguiente:
<html><body>
<?php
$d=date("D");
if ( $d == "Fri" )
echo "hoy es viernes";
elseif ( $d == "Sun" )
echo "hoy es domingo";
else
echo "hoy no es ni viernes ni domingo";
?>
</body></html>
Al igual que en C, existe la construccin switch, para contemplar
varios casos:
<html><body>
<?php
switch ($x) {
case 1:
echo "Num. 1";
break;
case 2:
echo "Num. 2";
break;
case 3:
echo "Num. 3";
break;
default:
echo "Otro nmero distinto";
}
?>
</body></html>
Bucles
Cuando estamos escribiendo cdigo, de cuando en cuando,
tendremos que ejecutar diferentes porciones de cdigo de forma
repetida. En lugar de replicar varias veces el mismo cdigo, debemos
usar las sentencias de tipo bucle:
?>
</body></html>
La construccin do-while es similar, salvo que la condicin se
comprueba al final del bucle, con lo que al menos una vez se ejecuta:
<html><body>
<?php
$i=1;
do {
$i++;
echo "Iteracin " . $i . "<br />";
} while ($i<=5);
?>
</body></html>
La construccin for permite ejecutar repetidamente un conjunto de
instrucciones. A continuacin veremos un ejemplo de esta estructura
para iniciarnos en su manejo:
<html><body>
<?php
for ($i=1; $i<=5; $i++) {
echo " Iteracin " . $i . "<br />";
}
?>
</body></html>
La construccin foreach es similar a la funcin del mismo nombre de
los Shells de Unix. Asocia iterativamente a una variable cada
elemento de la lista. Esta sucesin de valores sirve para parametrizar
la ejecucin del bloque de instruccin. Las intrucciones for y foreach
son equivalentes, aunque segn el contexto, conviene usar uno u otro
tipo de bucle. Por ejemplo, si tenemos que recorrer un array
seguramente nos convenga usar un bucle del tipo foreach. Veamos un
ejemplo en el que se ven claramente las ventajas de usar foreach:
<html><body>
<?php
$x=array("uno","dos","tres");
foreach ($x as $valor){
echo $valor . "<br />";
}
?>
</body></html>
En este ltimo ejemplo, veremos cmo recorrer un array asociativo,
extrayendo las claves de acceso a cada elemento:
<?php
$x=array("uno"=>1,"dos"=>2);
foreach ($x as $clave => $valor) {
echo " $clave= $valor ";
}
?>
6. Funciones en PHP
Un programa es una cosa compleja de realizar y por lo tanto es
importante que est bien estructurado y tambin que sea inteligible
para las personas.
Una forma de facilitar, reducir y dividir el trabajo en programacin, es
escribir aquellos grupos de sentencias una sola vez bajo la forma de
una funcin o procedimiento.
En Matemticas, una funcin es una expresin que permite calcular
una variable dependiente del valor de otras.
En programacin, una funcin es la forma de agrupar una secuencia
de rdenes que hacen una tarea especfica de una aplicacin ms
grande, de forma que ms adelante podamos llamar a la funcin para
ejecutar ese conjunto de rdenes con solo invocar el nombre de la
funcin.
Para identificar ese mdulo o funcin, debemos dar un identificador a
la misma. Es recomendable poner nombres que indiquen claramente
qu es lo que hace la funcin. De esta forma podremos entender ms
fcilmente qu hace el programa.
En PHP podemos usar las funciones que nos ofrece el lenguaje, o
podemos crear otras que necesitemos.
Funciones incluidas en el lenguaje PHP
En la siguiente direccin encontraremos la gua completa de las
funciones incluidas en PHP:
http://www.w3schools.com/PHP/default.asp
Uso de parmetros
Las funciones normalmente reciben parmetros (actan,
internamente a la funcin, como variables). Los parmetros se
especifican en la cabecera de definicin entre los parntesis.
En los siguientes ejemplos, la funcin recibe parmetros. El ejemplo
de la izquierda recibe un parmetro (nombre) y lo muestra. El ejemplo
de la derecha recibe dos parmetros (nombre y edad) y los muestra:
<html><body>
<?php
function escribe($nombre) {
echo $nombre . " <br />";
}
echo "Me llamo ";
escribe("Juan");
echo "Te llamas ";
escribe("Luisa");
?>
</body></html>
<html><body>
<?php
function escribe($nombre,$edad) {
echo $nombre . " tiene ";
echo $edad . " aos <br />";
}
escribe("Angel","78");
escribe("Pepa","47");
?>
</body></html>
Devolver valores
Las funciones pueden devolver valores usando la sentencia return
<html><body>
<?php
function suma($x,$y) {
$total=$x+$y;
return $total;
}
echo "1 + 16 = " . suma(1,16);
?>
</body></html>
archivo abierto. Con fopen podemos abrir un archivo para lectura (r) o
escritura (w). Tambin podemos abrirlo para lectura y escritura (r+,
a+).
$fichero=fopen("fichero.txt" , "r");
fgets (manejador_archivo, longitud): La funcin fgets nos
devuelve una cadena con la longitud especifica del fichero al que
apunta el manejador de archivo.
<?php
$archivo = fopen("fichero.txt" , "r");
if ($archivo) {
while (!feof($archivo)) {
$linea = fgets($archivo, 255);
echo $linea;
}
}
fclose ($archivo);
?>
La funcin feof devuelve TRUE si el puntero de lectura/escritura se
encuetra al final del fichero, y FALSE en caso contrario.
fputs (manejador_archivo, cadena): La funcin fputs escribe una
cadena en el fichero indicado (previamente abierto). La funcin fputs
devuelve TRUE si se ha escrito con xito, en caso contrario devuelve
FALSE.
<?php
$archivo = fopen("fichero.txt" , "w");
if ($archivo) {
fputs ($archivo, "Hola Mundo");
}
fclose ($archivo);
?>