Manual php Vectores y Arrays PDF

Title Manual php Vectores y Arrays
Author Reynaldo De Sedas
Course Informática
Institution Universidad de Panamá
Pages 35
File Size 692 KB
File Type PDF
Total Downloads 24
Total Views 145

Summary

Introduccion a los Vectores y Arrays...


Description

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

VECTORES o ARRAYS Los vectores o array son listas ordenadas de elementos. Para definir un vector en PHP utilizamos la función array: Se define a un arreglo como un grupo de elementos relacionados entre sí por medio de índices. Los arreglos pueden ser de una o más dimensiones, los de una dimensión, son llamados comúnmente "vectores", los bidimensionales (matrices) y también pueden ser multidimensionales (más de dos dimensiones). A diferencia con el lenguaje C, en PHP, un vector puede tener elementos de distintos tipos. Para hacer referencia a un elemento del vector, se utiliza un índice, que indica la dirección en donde se encuentra un determinado valor. El índice en un arreglo comienza siempre por cero. Sin embargo hay que mencionar que el índice de un vector, no necesariamente debe ser un número entero, sino que también puede ser un texto.

Los arrays se utilizan ampliamente en el lenguaje PHP. Se utiliza el delimitador [] para acceder a los diferentes elementos del vector. Se le puede crear rápidamente, sin tener que declararlo: $dias[0]=31; $dias[1]=28; Luego de estas dos líneas, tenemos creado un vector de dos elementos, a los cuales accedemos por un subíndice que comienza a numerarse desde cero. echo $dias[0]; echo $dias[1];

//31 //28

El vector, como podemos ver, puede ir creciendo en forma dinámica, es decir que si ahora hacemos:

$dias[2]=31; el vector tiene 3 componentes. INFORMÁTICA

PÁG.

1

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

También podemos obviar el subíndice cuando asignamos los valores: $dias[]=31; $dias[]=28; $dias[]=31; Automáticamente comienza a numerarse desde cero.

Si necesitamos conocer el tamaño del vector en cualquier momento podemos llamar a la función count. echo count($dias); //3 Si queremos imprimir todos los elementos en la página podemos hacer:

La

función

sizeof()

es

equivalente

a

count

Otra forma de inicializar un vector es definirlo e inicializarlo simultáneamente:

Estamos definiendo los vectores vector1 y edades con tres componentes, numeradas automáticamente de cero a dos.

INFORMÁTICA

PÁG.

2

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

Ejemplos:

1. Almacenar los nombres de los días de la semana en un vector y luego imprimirlos uno debajo de otro.

Ejmeplo 1



Notas a recordar: Se inicializa el vector indicando el número que le corresponde a cada posición entre corchetes [ ] y asignando el valor que se desea almacenar en dicha posición. Un vector, en PHP, puede contener elementos de distintos tipos de datos, es decir, un elemento puede ser un número entero, otro una cadena, otro un número con decimales, etc. Un modelo de este caso se puede observar en el siguiente ejemplo.

INFORMÁTICA

PÁG.

3

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

2. Almacenar en un vector los datos personales de un empleado y luego mostrarlos en pantalla.

Ejemplo 2



Existen varias maneras de inicializar vectores en PHP. A continuación se describen algunos ejemplos. $pais[] = "Argentina"; $pais[] = "Uruguay"; $pais[] = "Brasil"; $pais[] = "Chile"; En este caso se observa que no es necesario colocar el número de índice, ya que PHP lo asigna automáticamente para cada valor, comenzando siempre desde cero. Otra forma de inicializar un vector, es a través del constructor array, como se muestra en el siguiente ejemplo: $pais =array("Argentina","Uruguay","Brasil","Chile");

INFORMÁTICA

PÁG.

4

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

También se puede definir un arreglo asociando explícitamente el índice a un valor, como se indica a continuación: $frutas = array(0 => "Manzana", 1 => "Naranja", 2 => "Pera", 3 => "Banana"); Además, los índices, pueden no ser obligatoriamente consecutivos, ni tampoco comenzar de cero, ni tampoco ser un número. (Ver ejemplos más adelante). Se puede conocer la cantidad de elementos que tiene un vector, para ello se utiliza la función count(vector). Esta función acepta como parámetro el nombre del vector y devuelve la cantidad de elementos del mismo. 3. Cargar en un vector artículos de librería y luego imprimir la cantidad de ellos.

Ejemplo 3



Un vector en PHP puede tener elementos en cualquier posición, por lo tanto, se puede cargar un vector con posiciones no consecutivas, sino en forma totalmente aleatoria. Para poder recorrer este tipo de vectores se utilizan las funciones next() y prev() que se verán en otros cursos de php.

INFORMÁTICA

PÁG.

5

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

FUNCIONES RELACIONADAS CON LOS VECTORES: array("elemento1","elemento2"). Como ya hemos visto, sirve para añadir elementos a un vector. (así $articulos=array(“elemento1”,”elemento2”); reset($vector). Sirve para poner el puntero al inicio del vector. El puntero es el que contiene la información sobre la siguiente posición del vector a la que corresponde acceder. key($vector). Contiene la posición actual del puntero del vector. next($vector). Avanza la posición del vector al siguiente elemento. En caso de no haber más elementos, devuelve false. count($vector). Devuelve el número de elementos de un vector. En un vector ordenado, algunas de estas funciones no son necesarias, pero en un vector desordenado servirán de mucho.

MANEJANDO ARCHIVOS: Una actividad fundamental es poder registrar información en el servidor o localmente en el computador en el que estamos trabajando. Para registrar los datos en el servidor o en el computador que estoy utilizando disponemos de dos herramientas que se complementan en muchos casos (archivos de texto y bases de datos). Ahora veremos cómo crear un archivo de texto y añadir datos al mismo. Presentaré el tema resolviendo un problema: Implementación de un libro de visitas. Para resolver este problema plantearemos dos páginas o programas en php, un formulario para realizar la carga del nombre del visitante y sus comentarios (disponemos un objeto de tipo "text" y otro de tipo "textarea"): INFORMÁTICA

PÁG.

6

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

Programa formulario.php

Problema

Ingrese su nombre:

Comentarios:





Este formulario es similar a los planteados en problemas anteriores, sólo le hemos agregado al control textarea, las propiedades rows y cols que dimensionan el mismo en la pantalla:

Veamos ahora la página o programa pagina1.php que graba los datos cargados en el formulario en un archivo:

Problema



En primer lugar creamos o abrimos el archivo de texto "datos.txt". El segundo parámetro de la función fopen indica la forma de apertura de archivo "a" (lo crea o si ya existe el archivo lo abre para añadir datos al final), "w" (crea el archivo de texto, si existe borra su contenido) y la última forma de apertura del archivo es "r" (abre el archivo para su lectura). Como en este problema nos interesa que el archivo vaya creciendo con los datos que aportan los visitantes al sitio lo abrimos para añadir, parámetro "a". La función retorna una referencia al archivo, la almacenamos en una variable. Si el archivo no se puede abrir, se ejecuta la instrucción que se encuentra luego del operador "or" en nuestro caso llamamos a la función die que finaliza la ejecución del programita PHP mostrando como mensaje el texto que le pasamos a dicha función.

$ar=fopen("datos.txt","a") or die("Problemas en la creacion"); Para la grabación de datos utilizamos la función fputs que tiene dos parámetros: la referencia al archivo donde grabamos y el string a grabar.

fputs($ar,$_REQUEST['nombre']); fputs($ar,"\n"); Para el salto de línea en el archivo de texto, usamos los caracteres \n. De esta forma cuando leamos el archivo de texto lo haremos línea a línea. Cuando dejamos de trabajar con el archivo llamamos a la función fclose. Hay que tener muy presente que el archivo se almacena en el servidor y no en la máquina de la persona que está navegando. Es decir, no vaya al explorador de archivos para ver donde se almacenó "datos.txt", tenga en cuenta que está en la máquina donde se ejecutó el script de PHP.

INFORMÁTICA

PÁG.

8

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

Para la lectura de un archivo de texto contamos con la función fgets. Además debemos abrir el archivo para lectura. Para mostrar por pantalla el contenido del archivo "datos.txt" creado en el punto anterior tenemos el siguiente programa:

Problema

< /body> < /html> La función que hemos creado se llama escribe_separa y recibe como parámetro la cadena que hay que escribir con el separador "-". El bucle for nos sirve para recorrer la cadena, desde el primer al último carácter. Luego, dentro del bucle, se imprime cada carácter separado del signo "-". El if que hay dentro del bucle for comprueba que el actual no sea el último carácter, porque en ese caso no habría que escribir el signo "-" (queremos conseguir "h-o-l-a" y si no estuviera el if obtendríamos "h-o-l-a-").

Funciones de cadenas. Vamos a ver algunas de las funciones que tenemos en PHP para el manejo de cadenas. Función strtolower() Convierte una cadena a minúscula. Sintaxis strtolower(“cadena”); Ejemplo: echo strtolower("PhPEcuADor"); Función strtoupper() Convierte una cadena a mayúscula. Sintaxis strtoupper(“cadena”); Ejemplo: echo strtoupper("PhPEcuADor"); Función strlen() Devuelve el número de caracteres dentro de una cadena. Sintaxis strlen(“cadena”); Ejemplo: $cadena = "Hola"; echo strlen($cadena); INFORMÁTICA

PÁG.

12

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

Función str_replace() Reemplaza caracteres dentro de una cadena. Sintaxis str_replace(“encontrar”, “reemplazar”, “cadena”); encontrar.- lo que queremos encontrar para reemplazar dentro de nuestra cadena. reemplazar.- es lo que vamos a reemplazar dentro de nuestra cadena. cadena.- es una cadena cualquiera sobre la cual se van a efectuar la operación de reemplazo. Ejemplo: echo str_replace("prueba", "ejemplo", "Esto es una prueba"); Función strpos() Devuelve la posición de un carácter dentro de una palabra o carácter. Sintaxis strpos(“cadena”, “palabra”); cadena.es una cadena cualquiera. palabra.- es la palabra a encontrar dentro de la cadena, si encuentra dos coincidencias devolverá la posición de la primera. Ejemplo: echo strpos("Busca palabra ", "palabra").""; echo strpos("Busca caracter", "c"); Función substr_count() Cuenta y devuelve la cantidad de apariciones de un carácter dentro de una cadena. Sintaxis substr_count(“cadena”, “carácter”); Ejemplo: echo substr_count("Este esto es una prueba de la función substr_count","t"); OTRAS FUNCIONES EN PHP: Implementaremos una función que muestre un mensaje centrado en pantalla, y la llamaremos posteriormente dos veces: INFORMÁTICA

PÁG.

13

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

Problema



Para mostrar el texto centrado en un recuadro utilizamos la marca table de HTML. Definimos las propiedades border con 1, para que sea visible y el ancho de 100% para que ocupe todo el navegador. La tabla tiene una fila a la que definimos con la marca tr (table row) y un solo dato en esa fila mediante la marca td (table data). Para que el texto dentro de la tabla salga centrado, inicializamos la propiedad align de la marca td. Si vemos la función, notamos que lo más trabajoso es definir todas las marcas HTML para crear la tabla. Es importante notar que en PHP para introducir las dobles comillas dentro de un string debemos antecederle el caractér ' \'; para introducir el caracter ' \' debemos tipear \\. Las llamadas a la función las hacemos por medio de su nombre y pasándole el único parámetro que requiere: mensajecentrado("Primer recuadro"); echo ""; INFORMÁTICA

PÁG.

14

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

mensajecentrado("Segundo recuadro"); Las funciones nos permiten tener un programa más ordenado y facilitan la reutilización del código. Más adelante veremos cómo hacer archivos con rutinas comunes a muchas páginas.

Una función puede retornar un dato, supongamos que necesitamos una función que nos retorne el promedio de dos valores, el código sería:

Problema



Cuando una función retorna un dato debemos emplear la palabra clave return seguida del valor que devuelve. En la llamada a la función el valor retornado se almacena generalmente en una variable: $p=retornarpromedio($v1,$v2);

Si queremos que retorne más de un dato debemos emplear parámetros por referencia. Supongamos que necesitamos ahora que una función nos retorne el cuadrado y cubo de un número: INFORMÁTICA

PÁG.

15

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

Problema



Es decir, cuando le antecedemos el caractér ampersand al parámetro, es por referencia. El objetivo es asignarle cierto valor al parámetro y posteriormente el dato quedará almacenado en la variable que le pasamos a la función. function cuadradocubo($valor,&$cuad,&$cub) { $cuad=$valor*$valor; $cub=$valor*$valor*$valor; } El parámetro $cuad se almacena en la variable $c1 y el parámetro $cub se almacena en $c2. Es la forma más adecuada de modificar variables dentro de una función.

Las funciones integradas en PHP son muy fáciles de utilizar. Tan sólo hemos de realizar la llamada de la forma apropiada y especificar los parámetros y/o variables necesarios para que la función realice su tarea. Lo que puede parecer ligeramente más complicado, pero que resulta sin lugar a dudas muy práctico, es crear nuestras propias funciones. De una forma general, podríamos crear nuestras propias funciones para conectarnos a una base de datos o crear los encabezados o etiquetas de un documento HTML. Para una aplicación INFORMÁTICA

PÁG.

16

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

de comercio electrónico podríamos crear por ejemplo funciones de cambio de una moneda a otra o de cálculo de los impuestos a añadir al precio del artículo. En definitiva, es interesante crear funciones para la mayoría de acciones más o menos sistemáticas que realizamos en nuestros programas. Aquí daremos el ejemplo de creación de una función que, llamada al comienzo de nuestro script, nos crea el encabezado de nuestro documento HTML y coloca el título que queremos a la página: < ? function hacer_encabezado($titulo) { $encabezado="t$titulo"; echo $encabezado; } ?> Esta función podría ser llamada al principio de todas nuestras páginas de la siguiente forma: $titulo="Mi web"; hacer_encabezado($titulo); De esta forma automatizamos el proceso de creación de nuestro documento. Podríamos por ejemplo incluir en la función otras variables que nos ayudasen a construir las etiquetas meta y de esta forma, con un esfuerzo mínimo, crearíamos los encabezados personalizados para cada una de nuestras páginas. De este mismo modo nos es posible crear cierres de documento o formatos diversos para nuestros textos como si se tratase de hojas de estilo que tendrían la ventaja de ser reconocidas por todos los navegadores. Por supuesto, la función ha de ser definida dentro del script ya que no se encuentra integrada en PHP sino que la hemos creado nosotros. Esto en realidad no es ningún problema ya que puede ser incluida en un archivo en el que iremos almacenando las definiciones de las funciones que vayamos creando o recopilando. Estos archivos en los que se guardan las funciones se llaman librerías. La forma de incluirlos en nuestro script es a partir de la instrucción require o include: INFORMÁTICA

PÁG.

17

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

require("libreria.php") o include("libreria.php") En resumen, esto quedaría así: Tendríamos un archivo libreria.php como sigue < ?php //función de encabezado y colocación del título function hacer_encabezado($titulo) { $encabezado="nnt$titulonn"; echo $encabezado; } ?> Por otra parte tendríamos nuestro script principal página.php (por ejemplo): < ?php include("libreria.php"); $titulo="Mi Web"; hacer_encabezado($titulo); ?> < body> El cuerpo de la página < /body> < /html> Aquí podemos ver el ejemplo que hace llamado a tres funciones (planilla, cálculo de cuadrado, cubo y separa cadenas.. Formulario que captura en php

Problema1 uso de funciones

Ingrese el nombre del empleado: INFORMÁTICA

PÁG.

18

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

Ingrese el nombre:

Ingrese las horas trabajadas: Ingrese cantidad de horas :

Ingrese la rata por hora:





Programa funciones.php que hace el llamado a las diferentes funciones



Programa que tiene las funciones requeridas.

Programa libreria2.php que tiene la función que calcula la planilla. INFORMÁTICA

PÁG.

19

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

BASE DE DATOS EN PHP Uno de los empleos principales de PHP es el acceso a una base de datos en el servidor. Las operaciones básicas se hacen empleando como lenguaje el SQL. PHP implementa distintas funciones según la base de datos a emplear. Existen funciones actualmente para acceder a los siguientes servidores de bases de datos: -

MySQL Microsoft SQL Server Oracle PostgreSQL SysBase FrontBase Informix InterBase Ingres mSQL dBase SQLlite

El más empleado en la actualidad en la web es el gestor de base de datos MySQL (debido que cuando se le emplea sin fines de lucro se puede emplear el software en forma gratuita). La forma de crear una tabla llamada alumnos en una Base de Datos determinada utilizando Mysql sería:

La estructura de la misma es:

INFORMÁTICA

PÁG.

21

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

CREATE TABLE alumnos ( codigo int(11) NOT NULL auto_increment, nombre varchar(40) default NULL, mail varchar(50) default NULL, codigocurso int(11) default NULL, PRIMARY KEY (`codigo`) ) En esta tabla podemos almacenar, por ejemplo, datos de alumnos que desarrollarán cursos de programación en PHP, JSP y ASP. El código del alumno es de tipo numérico (int) y al indicar que es auto_increment se generará automáticamente por el gestor de base de datos. Los campos nombre y mail son de tipo varchar (podemos almacenar cualquier caracter) y por últmo el campo codigocurso representa el curso a tomar por el alumno (1=PHP, 2=ASP y 3=JSP) El campo clave de esta tabla es el código de alumno (es decir no podemos tener dos alumnos con el mismo código, no así el nombre del alumno que puede eventualmente repetirse) En nuestro caso crearemos la base de datos con la que vamos a trabajar directamente desde el MySql Admin o (php MyAdmin).

Pasos a seguir: 1. 2. 3. 4.

Entrar a Admin de MySql con un clic sobre el botón. Elegir en localhost, la opción Base de Datos. Escribo el nombre de la Base de Datos y damos clic en crear. Ahora que ya creamos la BD, ésta tiene cero tablas creadas, por lo tanto procedemos a crear las tablas que necesitemos. 5. Las tablas las debemos crear de una en una. Al momento de crear la tabla p...


Similar Free PDFs