Curso: "Programacin Orientada a Objetos PHP5" 2013
Trabajando con Arreglos
Mdulo 2 / parte 2
Todos los logos y marcas utilizados en este documento, estn registrados y pertenecen a sus respectivos dueos. AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Arreglos 1
Curso: "Programacin Orientada a Objetos PHP5" 2013
Objetivo El objetivo de esta prctica de laboratorio ser aprender los conceptos bsicos de las matrices o arreglos en PHP, adems de crear matrices veremos cmo agregar y eliminar elementos a partir de ella. Diferentes formas de iteracin, arreglos por ndice, arreglos asociativos, arreglos bidimensionales y recursividad.
Curso: "Programacin Orientada a Objetos PHP5" 2013
Ejercicio 1: Ejemplo Mi Arreglo: 1. Abrir Netbeans IDE 2. Crear un proyecto Netbeans: PHP Application Seleccionar File desde el men superior y seleccionar New Project. Observar que aparece la ventana de dialogo New Project. Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects. Clic Next.
Curso: "Programacin Orientada a Objetos PHP5" 2013
Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese. Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del Web Root (carpeta htdocs de apache) de nuestro servidor web apache, si estamos usando Xampp debera estar dentro de C:\xampp\htdocs\ProyectoMiArreglo. En el ejemplo usaremos el servidor de Zend por lo tanto nuestro Source Folder debe ser C:\Zend\Apache2\htdocs\ProyectoMiArreglo Clic Finish. AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Arreglos 4
Curso: "Programacin Orientada a Objetos PHP5" 2013
Observe que el proyecto ProyectoMiArreglo ha sido creado bajo la pestaa Projects de NetBeans IDE y adems ha generado automticamente el archivo index.php el cual es desplegado en el editor de cdigo del IDE.
3. Modificar el contenido generado por el IDE en el index.php. Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay que agregar reemplazar se resaltan en negrita y color azul. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php // Declaramos y inicializamos un arreglos de se strings con paises $paises = array("Chile", "Espaa", "Argentina", "Mxico", "Ecuador", "Per", "Brazil", "Estados Unidos", "Inglaterra", "Alemania");
// Desplegamos el valor de cada elemento del arreglo for ($i = 0; $i < count($paises); $i++) { echo "$i - $paises[$i]"; echo "<br />"; } ?> </body> </html> AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Arreglos 5
Curso: "Programacin Orientada a Objetos PHP5" 2013
4. Construir y ejecutar el programa Clic derecho del mouse sobre el proyecto ProyectoMiArreglo y seleccionar Run. Observe el resultado en el Navegador. (Figura de abajo)
Curso: "Programacin Orientada a Objetos PHP5" 2013
5. Volver a modificar el archivo index.php Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay reemplazar se resaltan en negrita y color azul <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php // Declaramos y inicializamos un arreglo vacio $paises = array();
// Agregamos dinmicamente elementos a la matriz // Otra forma alternativa del ejemplo anterior $paises[] = "Chile"; $paises[] = "Espaa"; $paises[] = "Argentina"; $paises[] = "Mxico"; $paises[] = "Ecuador"; $paises[] = "Per"; $paises[] = "Brazil"; $paises[] = "Estados Unidos"; $paises[] = "Inglaterra"; $paises[] = "Alemania";
// Desplegamos el valor de cada elemento del arreglo for ($i = 0; $i < count($paises); $i++) { echo "$i - $paises[$i]"; echo "<br />"; } ?> </body> </html>
6. Construir y ejecutar el programa Clic derecho del mouse sobre el proyecto ProyectoMiArreglo y seleccionar Run. Observe el resultado en el Navegador. (Figura de abajo)
Curso: "Programacin Orientada a Objetos PHP5" 2013
Ejercicio 2: Ejemplo Proyecto Arreglo de Edades dinmicas: 1. Abrir Netbeans IDE 2. Crear un proyecto Netbeans: PHP Application Seleccionar File desde el men superior y seleccionar New Project. Observar que aparece la ventana de dialogo New Project. Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects. Clic Next Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese ProyectoArregloEdades. Este es el nombre que se le dar al proyecto. Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del Web Root (carpeta htdocs de apache) de nuestro servidor web apache. Si usamos XAMPP: C:\xampp\htdocs\ProyectoArregloEdades, si usamos Zend Server C:\Zend\Apache2\htdocs\ProyectoArregloEdades Clic Finish. Observe que el proyecto ProyectoArregloEdades ha sido creado bajo la pestaa Projects de NetBeans IDE y adems ha generado automticamente el archivo index.php
3. Modificar el contenido generado por el IDE en el index.php. Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay que agregar reemplazar se resaltan en negrita y color azul. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php // Declaramos y inicializamos un arreglos del tipo int con tamao para 10 elementos $edades = array_fill(0, 10, 0);
// Agregamos elementos al arreglo, el ndice multiplicado por 10. for( $i=1; $i < count($edades); $i++ ){ $edades[$i] = $i * 10; }
// Desplegamos el valor de cada elemento del arreglo for( $i=1; $i < count($edades); $i++ ){ echo "Edad: $edades[$i] <br />"; }
Curso: "Programacin Orientada a Objetos PHP5" 2013
4. Construir y ejecutar el programa Clic derecho del mouse sobre el proyecto ProyectoArregloEdades y seleccionar Run. Observe el resultado en el navegador
Curso: "Programacin Orientada a Objetos PHP5" 2013
Ejercicio 3: Ejemplo Arreglo Asociativo: es un arreglo asociativo que contiene un par (clave => valor), es decir un mapa que asocia un nombre o llave hacia un valor. 1. Abrir Netbeans IDE 2. Crear un proyecto Netbeans: PHP Application Seleccionar File desde el men superior y seleccionar New Project. Observar que aparece la ventana de dialogo New Project. Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects. Clic Next Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese EjemploArregloAsociativo. Este es el nombre que se le dar al proyecto. Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del Web Root (carpeta htdocs de apache) de nuestro servidor web apache. Clic Finish. Observe que el proyecto EjemploArregloAsociativo ha sido creado bajo la pestaa Projects de NetBeans IDE y adems ha generado automticamente el index.php el cual es desplegado en el editor de cdigo del IDE
3. Modificar el contenido generado por el IDE en index.php. Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay que agregar reemplazar se resaltan en negrita y color azul. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php $persona = array();
Curso: "Programacin Orientada a Objetos PHP5" 2013
4. Construir y ejecutar el programa Clic derecho del mouse sobre el proyecto EjemploArregloAsociativo y seleccionar Run. Observe el resultado en el Navegador. (Figura de abajo)
5. Volver a modificar el archivo index.php Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay reemplazar se resaltan en negrita y color azul <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php // Declaramos y inicializamos un arreglo asociativo y asignamos valores en su inicializamos // Otra forma alternativa del ejemplo anterior $persona = array("id"=>1, "nombre"=>"John", "apellido" =>"Doe","edad"=>25,"email"=>"john.doe@dominio.com");
echo "{$persona["nombre"]} {$persona["apellido"]} tiene {$persona["edad"]} aos y su correo es {$persona["email"]}"; ?> </body> </html>
6. Construir y ejecutar el programa Clic derecho del mouse sobre el proyecto EjemploArregloAsociativo y seleccionar Run. Observe el resultado en el Navegador. (Figura de abajo)
Curso: "Programacin Orientada a Objetos PHP5" 2013
Ejercicio 4: Ejemplo Arreglo Asociativo bidimensional 1. Abrir Netbeans IDE 2. Crear un proyecto Netbeans: PHP Application Seleccionar File desde el men superior y seleccionar New Project. Observar que aparece la ventana de dialogo New Project. Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects. Clic Next Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese EjemploArregloAsociativoBidimensional. Este es el nombre que se le dar al proyecto. Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del Web Root (carpeta htdocs de apache) de nuestro servidor web apache. Clic Finish. Observe que el proyecto EjemploArregloAsociativoBidimensional ha sido creado bajo la pestaa Projects de NetBeans IDE y adems ha generado automticamente el index.php el cual es desplegado en el editor de cdigo del IDE
3. Modificar el contenido generado por el IDE en index.php. Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay que agregar reemplazar se resaltan en negrita y color azul. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php $persona = array();
echo "<br />"; echo "{$persona["nombre"]} {$persona["apellido"]} tiene {$persona["edad"]} aos y sus correos son :" . implode(", ", $persona["emails"]); ?> </body> </html>
4. Construir y ejecutar el programa Clic derecho del mouse sobre el proyecto EjemploArregloAsociativoBidimensional y seleccionar Run. Observe el resultado en el Navegador. (Figura de abajo)
Curso: "Programacin Orientada a Objetos PHP5" 2013
Ejercicio 5: Ejemplo de formas de iterar una arreglo: 1. Abrir Netbeans IDE 2. Crear un proyecto Netbeans: PHP Application Seleccionar File desde el men superior y seleccionar New Project. Observar que aparece la ventana de dialogo New Project. Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects. Clic Next Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese EjemploFormasIternadoArreglo. Este es el nombre que se le dar al proyecto. Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del Web Root (carpeta htdocs de apache) de nuestro servidor web apache. Clic Finish. Observe que el proyecto EjemploFormasIternadoArreglo ha sido creado bajo la pestaa Projects de NetBeans IDE y adems ha generado automticamente el index.php el cual es desplegado en el editor de cdigo del IDE
3. Modificar el contenido generado por el IDE en index.php. Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay que agregar reemplazar se resaltan en negrita y color azul. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php // Declaramos y inicializamos un arreglo vacio $paises = array();
// Agregamos dinmicamente elementos a la matriz // Otra forma alternativa del ejemplo anterior $paises[] = "Chile"; $paises[] = "Espaa"; $paises[] = "Argentina"; $paises[] = "Mxico"; $paises[] = "Ecuador"; $paises[] = "Per"; $paises[] = "Estados Unidos";
// Desplegamos el valor de cada elemento del arreglo echo "================= Iterando con For =================<br />"; for ($i = 0; $i < count($paises); $i++) { echo "$i - $paises[$i]"; echo "<br />"; }
Curso: "Programacin Orientada a Objetos PHP5" 2013
4. Construir y ejecutar el programa Clic derecho del mouse sobre el proyecto EjemploFormasIternadoArreglo y seleccionar Run. Observe el resultado en el Navegador. (Figura de abajo)
Curso: "Programacin Orientada a Objetos PHP5" 2013
Ejercicio 6: Ejemplo de Arreglo Bidimensional, Dos Dimensiones: 1. Abrir Netbeans IDE 2. Crear un proyecto Netbeans: PHP Application Seleccionar File desde el men superior y seleccionar New Project. Observar que aparece la ventana de dialogo New Project. Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects. Clic Next Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese EjemploArregloDosDimensiones. Este es el nombre que se le dar al proyecto. Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del Web Root (carpeta htdocs de apache) de nuestro servidor web apache. Clic Finish. Observe que el proyecto EjemploArregloDosDimensiones ha sido creado bajo la pestaa Projects de NetBeans IDE y adems ha generado automticamente el index.php el cual es desplegado en el editor de cdigo del IDE
3. Modificar el contenido generado por el IDE en index.php. Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay que agregar reemplazar se resaltan en negrita y color azul. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php $matriz = array();
// Inicializamos en la matriz 3 arreglos: Llenamos la primera con 2 elementos, el segundo con 3 y 4. $matriz[0] = array_fill(0, 2, 0); $matriz[1] = array_fill(0, 3, 0); $matriz[2] = array_fill(0, 4, 0);
Curso: "Programacin Orientada a Objetos PHP5" 2013
4. Construir y ejecutar el programa Clic derecho del mouse sobre el proyecto EjemploArregloDosDimensiones y seleccionar Run. Observe el resultado en el Navegador. (Figura de abajo) 0 0 0 1 2 0 2 4 6
Curso: "Programacin Orientada a Objetos PHP5" 2013
Ejercicio 7: Segundo Ejemplo de Arreglo Bidimensional: 1. Abrir Netbeans IDE 2. Crear un proyecto Netbeans: PHP Application Seleccionar File desde el men superior y seleccionar New Project. Observar que aparece la ventana de dialogo New Project. Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects. Clic Next Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese EjemploArregloBidimensionalUsuarios. Este es el nombre que se le dar al proyecto. Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del Web Root (carpeta htdocs de apache) de nuestro servidor web apache. Clic Finish. Observe que el proyecto EjemploArregloBidimensionalUsuarios ha sido creado bajo la pestaa Projects de NetBeans IDE y adems ha generado automticamente el index.php el cual es desplegado en el editor de cdigo del IDE
3. Modificar el contenido generado por el IDE en index.php. Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay que agregar reemplazar se resaltan en negrita y color azul. <?php $listadoUsuarios = array();
Curso: "Programacin Orientada a Objetos PHP5" 2013
4. Construir y ejecutar el programa Clic derecho del mouse sobre el proyecto EjemploArregloBidimensionalUsuarios y seleccionar Run. Observe el resultado en el Navegador. (Figura de abajo)
Curso: "Programacin Orientada a Objetos PHP5" 2013
Ejercicio 8: Segundo Ejemplo de Arreglo Asociativo Bidimensional Recursivo usando Funcin Recursiva: 1. Abrir Netbeans IDE 2. Crear un proyecto Netbeans: PHP Application Seleccionar File desde el men superior y seleccionar New Project. Observar que aparece la ventana de dialogo New Project. Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects. Clic Next Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese EjemploArregloRecursividad. Este es el nombre que se le dar al proyecto. Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del Web Root (carpeta htdocs de apache) de nuestro servidor web apache. Clic Finish. Observe que el proyecto EjemploArregloRecursividad ha sido creado bajo la pestaa Projects de NetBeans IDE y adems ha generado automticamente el index.php el cual es desplegado en el editor de cdigo del IDE
3. Modificar el contenido generado por el IDE en index.php. Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay que agregar reemplazar se resaltan en negrita y color azul. <?php
function arregloRecursiovo(array $arreglo, $nivel = 0){
Curso: "Programacin Orientada a Objetos PHP5" 2013
"Irak", "Libia"));
arregloRecursiovo($regiones);
?> </body> </html>
4. Construir y ejecutar el programa Clic derecho del mouse sobre el proyecto EjemploArregloRecursividad y seleccionar Run. Observe el resultado en el Navegador. (Figura de abajo)
Curso: "Programacin Orientada a Objetos PHP5" 2013
Resumen En este workshop, hemos expuesto y aprendido los conceptos sobre los arreglos en PHP, vimos las diferentes formas de delcarar e inicializar matrices, agregar elementos. Tambin abarcamos las formas de iteracin, arreglos por ndice, arreglos asociativos, arreglos bidimensionales y recursividad.
Enva tus consultas a los foros! Aqu es cuando debes sacarte todas las dudas haciendo consultas en los foros correspondientes AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Arreglos 25