Вы находитесь на странице: 1из 22

INSTITUTO DE EDUCACIÓN

SUPERIOR PEDAGÓGICO
INSTALACIÓN Y SINTAXIS GAMANIEL BLANCO MURILLO
LENGUAJE PHP

CARRERA PROFESIONAL
COMPUTACIÓN E INFORMÁTICA

VIII SEMESTRE
MODULO I

Lic. Héctor LÓPEZ SÁNCHEZ


PHP: Instalación y sintaxis HLopez
Agosto 2013

ÍNDICE

1. Introducción ................................................................................ 3
2. Objetivos ..................................................................................... 3
3. ¿Qué es PHP? .............................................................................. 3
3.1. Definición del PHP ......................................................... 3
3.2. Historia de la Evolución del PHP.................................... 4
4. Instalación como módulo ó CGI ................................................. 4
5. Instalación en Windows .............................................................. 4
5.1. Instalación de Apache ..................................................... 5
5.2. Instalación de PHP 4 ....................................................... 6
6. Mi primer script........................................................................... 8
7. Editores para PHP ....................................................................... 9
8. Variables y operadores .............................................................. 10
8.1. Variables ....................................................................... 10
8.2. Constantes ..................................................................... 10
8.3. Constantes Predefinidas ................................................ 11
8.4. Operadores .................................................................... 11
8.5. Operadores Aritméticos ................................................ 11
8.6. Operadores de cadenas .................................................. 12
8.7. Comillas simples y dobles............................................. 12
8.8. Operadores de Comparación ......................................... 12
8.9. Operadores Lógicos ...................................................... 13
8.10. Operadores de Asignación ............................................ 13
8.11. Operador condicional .................................................... 13
9. Sentencias de Control................................................................ 14
9.1. Bifurcaciones condicionales.......................................... 14
9.2. Bucles ............................................................................ 16
10. Vectores (o arrays) .................................................................... 18
10.1. Vectores Indexados ....................................................... 18
10.2. Vectores Asociativos..................................................... 19
10.3. Manipulación de Vectores Asociativos......................... 20
11. Glosario ..................................................................................... 21
12. Referencias Bibliográficas ........................................................ 22

Página 2
HLopez PHP: Instalación y sintaxis
Agosto 2013

1. Introducción

En esta unidad veremos la instalación del PHP junto con el


Apache y la base de datos MySQL. Podemos trabajar sobre
Windows y opcionalmente sobre Linux. Alternativamente se
podrá instalar el PHP junto al Internet Information Server de
Windows. Luego, veremos la sintaxis del lenguaje PHP, que
incluye la declaración de variables, constantes, sentencias de
control, vectores y matrices multidimensionales.

2. Objetivos

• Instalar el PHP y Apache.


• Utilizar la sintaxis del lenguaje PHP.
• Crear funciones para lograr la reutilización de código.
• Utilizar las funciones estándares del lenguaje PHP.

3. ¿Qué es PHP?

El desarrollo de PHP comenzó a finales de 1994, cuando Rasmus


Lerdorf quiso registrar cuanta gente visitaba la página Web que
contenía su curriculum. Denominó a su sistema "Personal Home
Page". En su siguiente trabajo, necesitó crear páginas dinámicas
que lidiasen con formularios y amplió su programa original con
una serie de etiquetas "extra" que denominó "Form Interpreters".
Finalmente juntó todo lo que tenía en 1996 y lo sacó al público con
el nombre de PHP/FI.

Lerdorf empezó a recibir contribuciones de otros programadores,


como el soporte de Oracle o Sybase que se añadía al que ya había
escrito de MySQL. Entonces decidió abrir el código, pues sabía
que iba a obtener más de lo que daba. Y así fue.

3.1. Definición del PHP

PHP, (acrónimo de "PHP: Hypertext Preprocessor") es un


lenguaje script interpretado en el lado del Servidor Web
para la generación de páginas dinámicas. La facilidad de
embeber scripts PHP dentro de páginas HTML lo hace el
lenguaje más popular y extendido para el desarrollo de
aplicaciones Web. Este lenguaje permite escribir páginas
dinámicas de una manera rápida y fácil, aunque se puede
hacer mucho más con PHP. Su página oficial:
http://www.php.net.

Página 3
PHP: Instalación y sintaxis HLopez
Agosto 2013

3.2. Historia de la Evolución del PHP

• PHP/FI –
1995
• PHP/FI 2.0 - 1995-
1997
• PHP 3 - 1997-2000
• PHP 4 - Mayo del 2000
• PHP 5 - 13 Julio 2004

El nuevo PHP5 basado en el motor Zend 2 presenta


mejoras significativas y un ambiente de programación
orientado a objetos mucho más completo que permitirán
que el PHP proporcione un alto rendimiento a las
aplicaciones Web empresariales al nivel de las plataformas
J2EE y .NET.

4. Instalación como módulo o CGI

PHP puede ser instalado en el Servidor Web Apache de dos


formas:

• Como módulo de Apache


• Como CGI

Para entender cual es la diferencia entre estos dos tipos de


instalaciones tenemos que tener en cuenta lo siguiente: cuando se
ejecuta un script PHP el intérprete lee un archivo llamado php.ini
que contiene toda la configuración del PHP. Entonces, cuando se
instala el PHP como módulo el Apache cargará en memoria al
PHP y leerá el php.ini una sola vez cuando arranque. En cambio,
cuando se instala el PHP como CGI el intérprete lee el php.ini
cada vez que un script es ejecutado.

Pues, obviamente, el instalar el PHP como módulo de Apache nos


beneficiará porque el tiempo de respuesta de la ejecución de los
script será más rápido, a diferencia de la instalación como CGI.

Nota: Como se dijo en la explicación, el archivo php.ini


almacenará la configuración principal del PHP. Podemos
modificar su contenido con cualquier editor de texto.

5. Instalación en Windows

En este capítulo describiremos el proceso de instalación de la base


de datos MySQL, de un servidor Web Apache con PHP, en una
máquina con sistema operativo Windows.

Página 4
HLopez PHP: Instalación y sintaxis
Agosto 2013

Lo primero que debemos hacer es conseguirnos los programas


necesarios, y que mejor para ello que dirigirnos a las páginas Web
(o cualquiera de sus mirrors) de los programas en cuestión, y
bajar la última versión estable:

Apache: http://www.apache.org
MySQL: http://www.mysql.com
PHP: http://www.php.net(Versión 4.3.X)

La instalación de estos programas es muy fácil. El Apache y


MySQL vienen con un programa de instalación incluido. El PHP4
lo bajaremos como un archivo empaquetado.

Veámoslos en orden; PHP4 debe instalarse después de Apache;


MySQL puede instalarse en cualquier momento.

Nosotros lo haremos así: primero la instalación del Apache, luego


del PHP4 y finalmente del MySQL.

5.1. Instalación de Apache

Hacemos "doble clic" en el archivo de Apache y aceptamos


el directorio de instalación por defecto C:\Archivos de
Programas\Apache Group\Apache. Como configuración
tan sólo deberemos indicarle el nombre de dominio y del
servidor Web:

Página 5
PHP: Instalación y sintaxis HLopez
Agosto 2013

Para poder hacer un servidor de pruebas en nuestra


computadora (no es muy recomendable instalar un
servidor Web "de verdad" bajo Windows) escogeremos
como nombres de servidor y de dominio "localhost".

Eso sería todo, se ha instalado el Apache con la


configuración por defecto. Tengamos presente la
existencia del archivo /conf/httpd.conf, porque luego se
tendrá que modificar su contenido.

Por defecto los archivos que son accesibles desde el


navegador se encuentran el la carpeta htdocs del
directorio de Apache, pero la podríamos cambiar:

DocumentRoot "C:/www"
<Directory "C:/www">
......
</Directory>

Pero mejor dejémoslo con su valor por defecto.

Hasta aquí ya tenemos el Servidor Apache configurado


con los valores por defecto, podemos probar la instalación
accediendo a: http://localhost/.

Nota: El DocumentRoot o directorio raíz del servidor Web


Apache es el directorio donde se ubicarán los archivos que
serán públicos para los visitantes, es decir las páginas
Web. Por defecto, éste directorio se encuentra en
C:\Archivos de programa\Apache
Group\Apache\htdocs.

5.2. Instalación de PHP 4

En referencia a la instalación del PHP4, trabajaremos con


alguna versión de la serie PHP 4.3.X. Para instalar el PHP
seguiremos los siguientes pasos:

Descomprimir el empaquetado que bajamos del PHP4 a


un directorio, por ejemplo: c:\php.

El archivo c:\php\php.ini-dist hay que renombrarlo como


php.ini. Luego hay que copiarlo al directorio c:\windows.

Ahora nos toca decirle al Apache que reconozca los


archivos php. Para ello editamos el archivo httpd.conf del
Apache. Desde este archivo podemos configurar cualquier
aspecto, nosotros nos vamos a conformar con activarle el

Página 6
HLopez PHP: Instalación y sintaxis
Agosto 2013

soporte de PHP. Lo primero será agregar la siguiente línea


al final de las numerosas líneas LoadModule, veamos:

LoadModule php4_module
"C:/php/sapi/php4apache2.dll"

Esta línea le indica a Apache que tiene que cargar el PHP


como módulo. En este ejemplo se ha instalado el PHP en el
directorio C:/php/, si se cambia el directorio de
instalación del PHP hay que cambiar esta línea.

Luego se tendrá que buscar las siguientes líneas y


descomentarlas (Quitarles el # ):

# AddType application/x-httpd-php .php


# AddType application/x-httpd-php-source .phps

Estas líneas le informan a Apache de las extensiones de los


archivos que interpretará PHP.

Nota: En las versiones más recientes de Apache las líneas


AddType no aparecen. Deberemos, por tanto, escribirlas
(sin almohadilla). Su lugar es detrás de las numerosas
líneas AddCharset.

Hay que modificar una cosa más en el archivo httpd.conf:


la línea DirectoryIndex, hay que agregarle index.php, que
le indicará al Apache que será el archivo de inicio en un
directorio.

Y hemos terminado!, ahora levantemos el Servidor


Apache.

Nota: Error: "error cannot load php4 module". Si al


levantar el Apache nos sale un error como ese, entonces
haremos lo siguiente: copiar los archivos: php4ts.dll y
iconv.dll del directorio de PHP al directorio
c:\windows\system32.

Para probar la instalación abrimos nuestro editor de textos


favorito y escribimos lo siguiente:

<?php
phpinfo();
?>

Página 7
PHP: y
Agosto 2013

Guardamos el archivo como phpinfo.php y lo colocamos


en el directorio público del Apache: c:\.....\htdocs\. Y en
seguida lo vemos con el navegador Web:
http://localhost/phpinfo.php.

6. Mi primer script

Una vez que ya tenemos instalados PHP y MySQL, y el servidor


Apache configurado para usarlos, podemos comenzar a escribir
nuestro primer script en PHP.

primer_script.php

<html>
<body>

<?php
$myvar = "Hola. Este es mi primer script en PHP \n";
//Esto es un comentario
echo $myvar;
?>

</body>
</html>

Estas líneas lo guardamos en un archivo con la extensión PHP, y


lo colocamos en nuestro servidor. Ahora si ponemos esta URL en
nuestro navegador veremos una línea con el texto "Hola. Este es
mi primer script en PHP".

http://localhost/primer_script.php.

Lo primero que apreciamos en el script son sus delimitadores. En


la primera línea del script vemos <?PHP (también podemos
utilizar <? a secas) que nos indica que comienza un script en PHP,
y en la última colocamos ?> para indicar el final del script. Hay
que destacar que todas las líneas que se encuentre entre estos
delimitadores deben acabar en punto y coma, excepto las
sentencias de control (if, switch, while, etc.), comentarios, etc.

Como en toda programación, es importante poner muchos


comentarios, para lo cual si queremos comentar una sola línea
tenemos que poner al principio de la línea //, si lo que queremos
es comentar varias utilizaremos los delimitadores /* - */.
PHP: y
Agosto 2013

Para que el servidor envié texto utilizaremos la instrucción


ECHO, aunque también podemos utilizar PRINT de uso similar
al del C o Perl.

<?php
$myvar = "Hola. Este es mi primer script en PHP \n";
/*
Aquí va el comentario
*/
echo $myvar;
print $myvar;
?>

Finalmente, vemos que la palabra MYVAR comienza con el signo


dólar ($). Este símbolo le indica a PHP que es una variable.
Nosotros le hemos asignado un texto a esta variable, pero
también pueden contener números o tablas (arrays). Es
importante recordar que todas las variables comienzan con el
signo dólar. También habrá observado que el texto que le
asignamos a la variable termina con \N, esto no se imprime sirve
para indicarle al navegador una nueva línea.

7. Editores para PHP

Para desarrollar los ejercicios necesitaremos alguna herramienta


que nos facilite escribir código PHP.

En el mercado existen varios editores, libres y comerciales, para


editar los scripts PHP. Básicamente los editores nos ayudan a
programar porque resaltan con colores las palabras propias del
lenguaje, como las palabras reservadas, declaración de variables,
las funciones, etc. Además algunos editores conocen las variables
predefinidas del PHP y nos las muestran.

Entre los editores comerciales más populares están:

• Zend Studio. Producto comercial. Es un IDE para desarrollo


de aplicaciones con PHP. http://www.zend.com/
• Y entre los editores libres tenemos:
• HapEdit. De libre distribución. http://hapedit.free.fr/
• ConTEXT. De libre distribución. Resalta la sintaxis de
varios lenguajes incluyendo el PHP. http://www.php-
editors.com/review/?editor=61
• PHPEdit. De libre distribución.
http://www.phpedit.net/products/PHPEdit/
PHP: y
Agosto 2013

8. Variables y operadores

8.1. Variables

Como vimos antes todas la variables deben estar


precedidas por el signo dólar ($), y le asignamos contenido
con el signo igual (=).

Con las variables, PHP distingue entre mayúsculas y


minúsculas, por lo que no es lo mismo $MYVAR que
$MYVAR; éstas son dos variables totalmente distintas.

Los nombres de las variables siguen las mismas reglas que


otras etiquetas en PHP. Un nombre válido de una variable
comienza con una letra o una raya de subrayado, seguida
por cualquier número de letras, números, o rayas.

$_myvar = "Lima"; // Correcto


$8myvar = "Lima"; // Incorrecto

El uso de la barra invertida, como en \N, no es


obligatorio, pero ayuda a la depuración del código que
enviamos al navegador, además del \N existen otros usos:

Carácter Significado
\" Carácter dobles comillas
\\ Carácter barra invertida
\N Nueva línea
\R Retorno de carro
\T Tabulador horizontal

8.2. Constantes

Las constantes son similares a las variables, con la


salvedad de que no llevan el signo dólar delante, y sólo la
podemos asignar una vez. Para definir una constante
usaremos la función DEFINE como sigue:

<?php
define ("CONSTANTE", "Hola Mundo");
printf (CONSTANTE);
?>

PHP crea diversas constantes al arrancar, como


PHP_VERSION que contiene la versión de PHP, TRUE
que le asigna 1 o FALSE que le asigna 0.
PHP: y
Agosto 2013

8.3. Constantes Predefinidas

Entre las constantes más usadas tenemos:

LINE El número de línea actual


FILE La ubicación y nombre del archivo
FUNCTION El nombre de la función, si es que
la hubiera
CLASS El nombre de Clase
METHOD El nombre del método de la Clase

8.4. Operadores

Los operadores nos permiten unir identificadores y


literales para formar expresiones. Las expresiones son el
resultado de operaciones matemáticas o lógicas. Un literal
(por ejemplo, un número) o una variable son expresiones,
pero también lo son esos mismos literales y variables
unidos entre sí mediante operadores.

PHP dispone de muchos más operadores que la mayoría


de los lenguajes, si exceptuamos a sus padres C, C++ y
Java. Algunos de ellos no los estudiaremos debido a su
escasa utilidad y con algunos otros (especialmente el
condicional) deberemos andarnos con cuidado, ya que
puede lograr que nuestro código no lo entendamos ni
nosotros.

8.5. Operadores Aritméticos

PHP dispone de los operadores aritméticos clásicos y


alguno que otro más:

Operador Operación
$a + $b Suma
$a - $b Resta
$a * $b Multiplicación
$a / $b División
$a % $b Resto de la división entera
$a++ Incrementa en 1 a $a
$a-- Resta 1 a $a

Los operadores de incremento y decremento merecen una


explicación auxiliar. Se pueden colocar tanto antes como
después de la expresión que deseemos modificar pero sólo
devuelven el valor modificado si están delante. Me
explico.
PHP: y
Agosto 2013

$a = 1;
$b = ++$a;

En este primer caso, a valdrá 2 y b 2 también. Sin embargo:

$a = 1;
$b = $a++;

Ahora, a sigue valiendo 2, pero b es ahora 1. Es decir, estos


operadores modifican siempre a su operando, pero si se
colocan detrás del mismo se ejecutan después de todas las
demás operaciones.

8.6. Operadores de cadenas

El único operador de cadenas que existe es el de


concatenación, el punto. Pero no se asuste, PHP dispone
de toda una batería de funciones que os permitirán
trabajar cómodamente con las cadenas.

$a = "Hola";
$b = $a . " Mundo"; // Ahora $b contiene "Hola Mundo";

8.7. Comillas simples y dobles

En este punto (valga la redundancia) hay que hacer una


distinción, la diferente interpretación que hace PHP de las
simples y dobles comillas. En el segundo caso PHP
interpretará el contenido de la cadena.

$a = "Mundo";

echo 'Hola $a'; // Esto escribirá "Hola $a"

echo "Hola $a"; // Esto escribirá "Hola Mundo";

8.8. Operadores de Comparación

Podemos usar los siguientes:

Operador Operación
$a < $b $a es menor que $b
$a > $b $a es mayor que $b
$a <= $b $a es menor o igual que $b
$a >= $b $a es mayor o igual que $b
$a == $b $a es igual que $b
$a != $b $a es distinto de $b
$a === $b $a es estrictamente igual que $b
PHP: y
Agosto 2013

La igualdad estricta es igual a la normal pero hace una


comprobación estricta de tipo. Es decir, es cierto que 1 ==
"1" pero es falso que 1 === "1".

8.9. Operadores Lógicos

Estos operadores permiten realizar expresiones lógicas


complejas:

Operador Operación
$a and $b Verdadero si ambos son verdadero
$a && $b Verdadero si ambos son verdadero
$a or $b Verdadero si alguno de los dos es
verdadero
$a || $b Verdadero si alguno de los dos es
verdadero
$a xor $b Verdadero si sólo uno de los dos es
verdadero
!$a Verdadero si $a es falso y al revés
también, claro

8.10. Operadores de Asignación

Normalmente los lenguajes tienen un único operador de


asignación, que en PHP es el símbolo =. Pero en este
lenguaje, dicho operador se puede combinar con
operadores aritméticos para dar los siguientes:

Operador Operación
$a = $b Asigna a $a el contenido de $b
$a += $b Le suma $b a $a
$a -= $b Le resta $b a $a
$a *= $b Multiplica $a por $b y asigna el
resultado a $a
$a /= $b Divide $a por $b y asigna el resultado a
$a
$a .= $b Añade la cadena $b a la cadena $a

8.11. Operador condicional

El operador condicional tiene esta estructura:

condicion ? valor1 : valor2

Si la condición se cumple devuelve el primer valor y, en


caso contrario, el segundo. El siguiente ejemplo asignaría a
la variable a un 2:
PHP: y
Agosto 2013

a= 2> 3?1:2

Como se puede ver no resulta muy legible pero suele ser


muy útil.

9. Sentencias de Control

Ningún programa es una secuencia lineal de instrucciones. En


todo lenguaje de programación existen estructuras que nos
permiten variar el orden de ejecución dependiendo de ciertas
condiciones. Estas estructuras se denominan sentencias de control y
se pueden clasificar en dos grandes grupos:

• Bifurcaciones condicionales
• Bucles

Las sentencias de control permiten ejecutar bloques de códigos


dependiendo de unas condiciones. Para PHP el 0 es equivalente a
Falso y cualquier otro número es Verdadero. Del mismo modo,
una cadena vacía es considerada como Falso, mientras que si tiene
cualquier contenido significará Verdadero.

9.1. Bifurcaciones condicionales

Una bifurcación condicional en una estructura que realiza


una tarea u otra dependiendo del resultado de evaluar
una condición. En PHP tenemos tres (o más bien dos y
media).

• if...else
• if...elseif...else
• switch...case..default

9.1.1. if...else

La sentencia if...else permite ejecutar un bloque


de instrucciones si la condición es Verdadera y
otro bloque de instrucciones si ésta es Falsa. Es
importante tener en cuenta que la condición que
evaluemos ha de estar encerrada entre paréntesis
(esto es aplicable a todas las sentencias de control).

if (condición) {
// Este bloque se ejecuta si la condición es
VERDADERA
...
}
else {
PHP: y
Agosto 2013

// Este bloque se ejecuta si la condición es


FALSA
...
}

Existe una forma sencilla de usar la sentencia IF


cuando no tenemos que usar el ELSE y solo
tenemos que ejecutar una línea de código.
if ($a > 4) echo "$a es mayor que 4";

9.1.2. if...elseif...else

La sentencia if...elseif...else permite ejecutar


varias condiciones en cascada. Para este caso
veremos un ejemplo, en el que utilizaremos los
operadores lógicos.

<?php
if ($nombre == ""){
echo "Tú no tienes nombre";
}
elseif (($nombre=="eva") OR ($nombre=="Eva")) {
echo "Tu nombre es EVA";
}
else {
echo "Tu nombre es $nombre";</para>
}
?>

9.1.3. switch...case..default

Una alternativa a if...elseif...else, es la sentencia


switch, la cuál evalúa y compara cada expresión
de la sentencia case con la expresión que
evaluamos. Si llegamos al final de la lista de case y
encuentra una condición Verdadera, ejecuta el
código de bloque que haya en default. Si
encontramos una condición verdadera debemos
ejecutar un break para que la sentencia switch no
siga buscando en la lista de case.

Veamos un ejemplo con switch...case..default :

<?php
switch ($dia) {
case "Lunes":
echo "Hoy es Lunes";
break;
case "Martes":
PHP: Instalación y sintaxis HLopez
Agosto 2013

echo "Hoy es Martes";


break;
case "Miercoles":
echo "Hoy es Miercoles";
break;
case "Jueves":
echo "Hoy es Jueves";
break;
case "Viernes":
echo "Hoy es Viernes";
break;
case "Sábado":
echo "Hoy es Sábado";
break;
case "Domingo":
echo "Hoy es Domingo";
break;
default:
echo "Esa cadena no corresponde a ningún día
de la semana";
}
?>

9.2. Bucles

Un bucle es una estructura que permite repetir una tarea


un número de veces, determinado por una condición.
Disponemos, aquí también, de un par de sentencias (y
media).

• while
• do...while
• for

9.2.1. while

La sentencia while ejecuta un bloque de código


mientras se cumpla una determinada condición.

<?php
$num = 1;
while ($num < 5) {
echo $num;
$num++;
}
?>

Página 16
HLopez PHP: Instalación y sintaxis
Agosto 2013

Este ejemplo, escribirá en la página resultado la


cadena "1234". Podemos romper un bucle WHILE
utilizando la sentencia BREAK.

<?php
$num = 1;
while ($num < 5) {
echo $num;
if ($num == 3) {
echo "Aquí nos salimos\n";
break;
}
$num++;
}
?>

9.2.2. do...while

Esta sentencia es similar a while, salvo que con


esta sentencia primero ejecutamos el bloque de
código y después se evalúa la condición, por lo
que el bloque de código se ejecuta siempre al
menos una vez.

<?php
$num = 1;
do {
echo $num;
$num++;
} while ($num < 1)
?>

Si hubiéramos utilizado el while a secas, jamás se


habría ejecutado el bloque de código de este
ejemplo.

9.2.3. for

El bucle for no es estrictamente necesario,


cualquier bucle for puede ser sustituido
fácilmente por otro while. Sin embargo, el bucle
for resulta muy útil cuando debemos ejecutar un
bloque de código en el que tanto la condición de
salida esté clara como la iteración sea constante.
La aplicación más normal consiste en que una
variable deba moverse entre un valor mínimo y
otro máximo y a cada iteración sufra siempre el
mismo incremento. El bucle for también se puede
romper mediante la sentencia BREAK.

Página 17
PHP: y
Marzo

<?php
for ($num = 1; $num <=5; $num++){
echo $num;
if ($num == 3){
echo "Aquí nos salimos \n";
break;
}
}
?>

Como podemos ver, este bucle resulta algo más


oscuro y difícil de entender. Los paréntesis del
FOR incluyen tres sentencias separadas por
puntos y comas. La primera es la sentencia inicial,
que se ejecuta antes de la primera iteración.
Normalmente sirve para inicializar la variable que
iterará. La segunda es la condición de
permanencia en el bucle. El bucle continuará
ejecutándose mientras la condición sea cierta. La
última es la sentencia de iteración, que se ejecuta
en cada iteración (excepto en la primera) antes de
revisar la condición.

10. Vectores (o arrays)

Los vectores (o arrays en inglés), son muy importantes en PHP, ya


que generalmente, las funciones que devuelven varios valores,
como las funciones ligadas a las bases de datos, lo hacen en forma
de vector.

Estudiaremos los 2 tipos de vectores que tenemos en PHP:

• Vectores Indexados
• Vectores Asociativos

La explicación de cada una la veremos a continuación.

10.1. Vectores Indexados

El primero tipo de vector es el clásico, es decir utilizando


índices:

<?php
$ciudad[] = "París";
$ciudad[] = "Roma";
$ciudad[] = "Sevilla";
$ciudad[] = "Londres";
HLopez PHP: Instalación y sintaxis
Agosto 2013

print ("yo vivo en " . $ciudad[2] . "<BR>\n");


?>

Esta es una forma de asignar elementos a un vector, pero


una forma más formal es utilizando la función array.

<?php
$ciudad = array("París", "Roma", "Sevilla", "Londres");
//contamos el número de elementos de la tabla
$numelemtos = count($ciudad);
//imprimimos todos los elementos de la tabla
for ($i=0; $i < $numelemntos; $i++) {
echo "La ciudad $i es $ciudad[$i] <BR>\n";
}
?>

Si no se especifica, el primer índice es el cero, pero


podemos utilizar el operador => para especificar el índice
inicial.

$ciudad = array(1=>"París", "Roma", "Sevilla", "Londres");

10.2. Vectores Asociativos

Un segundo tipo, son los vectores asociativos, en las


cuales a cada elemento se le asigna una clave (key) para
acceder a él.

Para entenderlo, que mejor que un ejemplo, supongamos


que tenemos una tabla en la que cada elemento almacena
el número de visitas a nuestra Web por cada día de la
semana.

Utilizando el método clásico de índices, cada día de la


semana se representaría por un entero, 0 para lunes, 1
para martes, etc.

$visitas[0] = 200;
$visitas[1] = 186;

si usamos los vectores asociativos sería

$visitas["lunes"] = 200;
$visitas["martes"] = 186;

o bien,

$visitas = array("lunes"=>200; "martes"=>186);

Página 19
PHP: y
Marzo

10.3. Manipulación de Vectores Asociativos

Ahora bien, recorrer una tabla y mostrar su contenido es


sencillo utilizando los índices, pero ¿cómo hacerlo en los
vectores asociativos? La manipulación de los vectores
asociativos se realiza a través de funciones que actúan
sobre un puntero interno que indica la posición. Por
defecto, el puntero se sitúa en el primer elemento añadido
en la tabla, hasta que es movido por una función:

Devuelve el valor del elemento que indica


CURRENT
el puntero.
POS Realiza la misma función que current.
Mueve el puntero al primer elemento de
RESET
la tabla.
Mueve el puntero al último elemento de
END
la tabla
NEXT Mueve el puntero al elemento siguiente.
PREV Mueve el puntero al elemento anterior.
Devuelve el número de elementos de una
COUNT
tabla.

Veamos un ejemplo de las funciones anteriores:

<?php
$semana = array("lunes", "martes", "miércoles",
"jueves", "viernes", "sábado", "domingo");
echo count($semana); //

//situamos el puntero en el primer elemento


reset($semana);
echo current($semana); //lunes

next($semana);
echo pos($semana); //martes

end($semana);
echo pos($semana); //domingo

prev($semana);
echo current($semana); //sábado
?>

Recorrer una tabla con las funciones anteriores se hace un


poco lioso, para ello se recomienda utilizar la función
each(), que devuelve un vector de cuatro elementos con
claves 0, 1, key y value con la clave y el valor del elemento
HLopez PHP: Instalación y sintaxis
Agosto 2013

actual, y mueve el puntero al elemento siguiente. Si el


puntero ha sobrepasado los límites del vector devuelve
false.

<?php
$visitas = array("lunes"=>200, "martes"=>186,
"miércoles"=>190, "jueves"=>175);
reset($visitas);
while (list($clave, $valor) = each($visitas)) {
echo "el día $clave ha tenido $valor
visitas<BR>";
}
?>

La función list() es más bien un operador de asignación, lo


que hace es asignar los valores de un vector a una lista de
variables. En este caso el vector tiene cuatro elementos,
por lo que los dos últimos se perderán. Este bucle
terminará cuando se sobrepase al último elemento del
vector, momento en que la función each() devolverá
FALSO.

Bueno, dado que el funcionamiento de each es un poco


absurdo, es probable que no se entienda a la primera. Para
lograrlo, debemos recordar que el primero uso de dicha
función en nuestro ejemplo devolvería este vector:

array(0 => "lunes", 1 => 200, key => "lunes", value => 200)

Al utilizar list obtenemos los valores. Es decir, que si


pones dos variables más serán iguales a las dos primeras.
Por ejemplo:

list($clave, $valor, $clave2, $valor2) = each ($visitas)

Implicará que $clave==$clave2 y $valor==$valor2.

11. Glosario

PHP PHP Hipertext Preprocesor. Son las siglas del


lenguaje de programación PHP.

Página 21
PHP: y
Agosto 2013

12. Referencias Bibliográficas

http://www.php.net

FIN DE LA UNIDAD

Вам также может понравиться