Un array es una collecion de elmenetos. Es una de las estructuras de datos mas importantes de los lenguajes de programacion. A diferencia de otros lenguajes como C/C++ los vectores (asi se llaman es estos otros lenguajes) solo permiten arreglos/vectores con indices numérico.
PHP nos permite crear ademas de un vector/arreglo ordinario, un arreglo asociativo, que consta en un arreglo de elementos 'clave->valor'. La clave o key es un string que identifica al elemento.
Al tener key's ya no podemos usar los bucles while/for ya que su 'indice' (en este caso key) no se lo puede recorrer con un indice al que en cada vuelta lo aumentamos uno en uno.
Para eso usaremos el bucle foreach, que es exclusivo para array.
Un ejemplo es:
Como tambien veremos que podemos anidar los elementos de un array, con otros array. Veamos:
Definamos crearFila():
PHP nos permite crear ademas de un vector/arreglo ordinario, un arreglo asociativo, que consta en un arreglo de elementos 'clave->valor'. La clave o key es un string que identifica al elemento.
Al tener key's ya no podemos usar los bucles while/for ya que su 'indice' (en este caso key) no se lo puede recorrer con un indice al que en cada vuelta lo aumentamos uno en uno.
Para eso usaremos el bucle foreach, que es exclusivo para array.
Un ejemplo es:
$mi_array = array('Luis','Carlos','Andrea','Maria'); foreach ($mi_array as $clave => $valor){ echo "Elemento 1: $clave => $valor"; }
Como tambien veremos que podemos anidar los elementos de un array, con otros array. Veamos:
$alumno1 = array('Juan','Perez',20); $alumno2 = array('Jose','Gonzalez',21); $alumno3 = array('Carlos','Garcia',22); $alumno4 = array('Maria','Alvarez',23); $mis_alumnos( 'lu01' => $alumno1, 'lu02' => $alumno2, 'lu03' => $alumno3, 'lu04' => $alumno4 ); $tabla = crearTabla($mis_alumnos); echo $tabla;
Definamos crearFila():
$filaTemplate = "<tr>{celdas}</tr>"; $celdaTemplate = "<td>{dato}</td>"; $encabezadoTablaTemplate="<th>{dato}</th>"; /* Pasamos un arrar de 1 dimensio */ function crearFila($datos){ global $filaTemplate; global $celdaTemplate ; // Creamos unas plantillas para las filas y las celdas // Creamos un string vacio donde acumularemos las celdas $celdas = ''; // Creamos el html de las celdas, con el template de la celda if(count($datos)>0 && is_array($datos)){ foreach($datos as $dato) // Reemplazamos {dato} $celdas .= str_replace('{dato}',$dato,$celdaTemplate); // vamos concatenando con lo existente } //Ahora reemplazamos en la fila $fila = str_replace('{celdas}',$celdas,$filaTemplate); return $fila; } function crearTabla($tabla){ global $filaTemplate; global $encabezadoTablaTemplate; $inicioTabla = "<table>"; $finTabla = "</table>"; $filas =""; $columnas=''; //Recorremos la tabla foreach($tabla as $libreta => $alumno){ if($columnas=='') $columnas= array_keys($alumno); array_unshift($alumno,$libreta) ; $filas .= crearFila($alumno)."\n" ; } array_unshift($columnas,'libreta'); //Crear encabezado $encabezadoCelda=""; foreach($columnas as $columna){ $encabezadoCelda .= str_replace('{dato}',strtoupper($columna),$encabezadoTablaTemplate); } $encabezado= str_replace('{celdas}',$encabezadoCelda,$filaTemplate); return $inicioTabla.$encabezado."\n".$filas.$finTabla; }
Comments (0)
Publicar un comentario