jueves, 22 de marzo de 2012

Tercera Clase

Arrays

Son un lugar que tiene un nombre y donde podemos guardar un grupo de datos.  Los arrays actualmente actúan tanto como tablas hash (arrays asociativos) o como arrays indexados (vectores).

Arrays unidimensionales

PHP soporta tanto arrays escalares como asociativos. De hecho, no hay diferencias entre los dos. Se puede crear un array usando las funciones list() o array(), o se puede asignar el valor de cada elemento del array de manera explícita.

<html>
<head>
  <title>Ejemplo de Array mostrando contenido con for</title>
</head>
<body>
<?php
 // EJEMPLO DE ARRAY INDEXADO NUMÉRICAMENTE
   $libros[0]="Action, ";
   $libros[1]="Photoshop, ";
   $libros[2]="Flash, ";
   $libros[3]="Red hat.";
   for($i=0;$i<4;$i++)
   echo"$libros[$i]";
?>
</body>
</html>

En este primer ejemplo vemos que el array $libros contiene los datos de forma indexada, es decir el libro con valor 0 en el orden Action, el libro con el número 1 es Photoshop y así sucesivamente.

El resultado que obtendríamos en el navegador sería:

Action, Photoshop, Flash, Red hat.
<html>
<head>
  <title>Ejemplo de array mostrando contenido con while</title>
</head>
<body>
<?php
//EJEMPLO DE ARRAY ASOCIATIVO
        $precios= array("Action"=>112, "Photo"=>24, "Flash"=>43);
while($elemento =each($precios))
{
        echo $elemento["key"];
        echo " - ";
        echo $elemento ["value"];
        echo"<br>";
        }
?>
</body>
</html>

En un array asociativo, primero vemos el uso de la función array() entre comillas el nombre del libro y por asociación con los operadores => asignamos el precio del libro que en este caso corresponde 112, seguido a este vemos el resto de los libros y precios que forman parte del array.

El resultado que obtendríamos en el navegador sería:

Action - 112
Photo - 24
Flash - 43

Otro ejemplo para poder crear y manipular los array en PHP es este:

<html>
<head>
  <title>Ejemplo de Array mostrando contenido con while y list()</title>
</head>
<body>
<?
// EJEMPLO DE ARRAY ASOCIATIVO
  $precios = array("Action"=>112, "Photo"=>24, "Flash"=>43);
  while(list($producto, $precio) = each($precios))
    echo "$producto - $precio <br>";
?>
</body>
</html>

El resultado que obtendremos en el navegador será:

Action - 112
Photo - 24
Flash - 43

En muchas ocaciones necesitaremos de una nueva lista del contenido del array, para esto usarmos la función reset() cuya tarea será rebobinar el puntero interno de un array al primer elemento y devolver el valor del primer elemento del array.

<html>
<head>
  <title>Ejemplo de Array mostrando contenido con while y list()</title>
</head>
<body>
<?
// EJEMPLO DE ARRAY ASOCIATIVO
  $precios = array("Action"=>112, "Photo"=>24, "Flash"=>43);
  while(list($producto, $precio) = each($precios))
    echo "$producto - $precio <br>";
  reset($precios);
  while(list($producto, $precio) = each($precios))
    echo "$producto - $precio <br>";
?>
</body>
</html>

Un ejemplo de array multimedimensional es este:

<html>
<head>
  <title>Ejemplo de Array multidimensional</title>
</head>
<body>
<?
// EJEMPLO DE ARRAY ASOCIATIVO
$libros = array(array("A", "Action", 100), array("P", "Photo", 10),
                array("F", "Flash", 43));
  echo $libros[0][0].",".$libros[0][1].",".$libros[0][2]."<br>";
  echo $libros[1][0].",".$libros[1][1].",". $libros[1][2]."<br>";
  echo $libros[2][0].",".$libros[2][1].",". $libros[2][2]."<br>";
?>
</body>
</html>

Otra forma de obtener los resultados en este tipo de array es la siguiente:

<html>
<head>
  <title>Ejemplo de Array multidimensional usando for</title>
</head>
<body>
<?
// EJEMPLO DE ARRAY ASOCIATIVO
$libros = array(array("A", "Action", 100), array("P", "Photo", 10),
                array("F", "Flash", 43));
  for($fila=0;$fila<3;$fila++) {
    for($columna=0;$columna<3;$columna++) {
      echo "|".$libros[$fila][$columna];
    }
  }
?>
</body>
</html>

A continuación una tercera forma de obtener los resultados de un array multimensional:

<html>
<head>
  <title>Ejemplo de Array multidimensional usando for</title>
</head>
<body>
<?
// EJEMPLO DE ARRAY ASOCIATIVO
$libros = array(array(Cod=>"A", Descrip=>"Action", Precio=>100), 
                array(Cod=>"P", Descrip=>"Photo", Precio=>10),
                array(Cod=>"F",Descrip=> "Flash", Precio=>43));
  for($fila=0;$fila<3;$fila++) {
    echo "|".$libros[$fila]["Cod"."|".$libros[$fila]["Descrip"]."|".$libros[$fila]["Precio"]."|<br>";
  }
?>
</body>
</html>

Una cuarta forma de obtener resultado de un array multimensional:

<html>
<head>
  <title>Ejemplo de Array multidimensional usando for</title>
</head>
<body>
<?
// EJEMPLO DE ARRAY ASOCIATIVO
$libros = array(array(Cod=>"A", Descrip=>"Action", Precio=>100), 
                array(Cod=>"P", Descrip=>"Photo", Precio=>10),
                array(Cod=>"F",Descrip=> "Flash", Precio=>43));
  for($fila=0;$fila<3;$fila++) {
    while(list($key, $value) = each($libros[$fila])) {
      echo "|$value";
    }
    echo "|<br>";
  }
?>
</body>
</html>

No hay comentarios:

Publicar un comentario