How to declare an array

Un array guarda múltiples valores en la misma variable.

Arrays numéricos
La clave del array es un índice numérico
hay 3 maneras de rellenar el array

1.- En cadena

$cars=array("Saab","Volvo","BMW","Toyota");

2.- Por índice

$cars[0]="Saab";
$cars[1]="Volvo";
$cars[2]="BMW";
$cars[3]="Toyota";

3.- Uno tras otro

$cars[]="Saab";
$cars[]="Volvo";
$cars[]="BMW";
$cars[]="Toyota";

Para consultar un valor

echo $cars[0];

Otro ejemplo:

A | B | C | D | E | F
$array[0] = A

Conocer si un array no está vacío:

if (!empty($array))

Arrays Multidimensionales
Cada elemento del array principal puede ser un array
Ejemplo

A | B | C | D | E | F
G | H | I | J | K | L
M | N | O | P | Q | R
S | T | U | V | W | X
 
$array[0][0] = A
$array[0] = array que contiene los valores A | B | C | D | E | F
$array[1] = array que contiene los valores G | H | I | J | K | L
$array[0][1] = B

es decir:

$array[fila][columna]

Ejemplo de rellenar una tabla de multiplicar como matriz usando for

$columnas = 7;
$filas = 3;
for($i=0; $i < $columnas; $i++)
{
    for($j=0; $j < $filas; $j++)
    {
        $matriz[$i][$j] = $i * $j;
    }
}

Arrays asociativos
Las llaves son strings
Para rellenar el array

En cadena
$ages = array(“Peter”=>32, “Quagmire”=>30, “Joe”=>34);

Por índice

$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";

Para consultar un valor

echo "Peter is " . $ages['Peter'] . " years old.";

Ojo: no se puede hacer

$ages[0]

Array asociativo multidimensional
Ejemplo

$usuarios=array(
array('nombre'=>'nombre1',
      'apellido'=>'apellido1',
      'edad'=>22,
      'email'=>'nombre1@lclis.com',
      'mascotas'=>array('gato','perro','araña')
      ),
array('nombre'=>'nombre2',
      'apellido'=>'apellido2',
      'edad'=>25,
      'email'=>'nombre2@lclis.com',
      'mascotas'=>array('pez','vaca','conejo')
      )
);

Para consultar un valor

echo $usuarios[1]['mascotas'][2]; // dara conejo

Foreach
Permite iterar sobre arrays sin saber el inicio si el final, lo recorre. No conozco cuantos elementos hay en el array. También servira sobre objetos.
Dos maneras de decirlo
foreach (expresion_array as $value)
sentencia;
foreach (expresion_array as $key=>$value)
sentencia;
En $key pone la llave
En $value pone el valor
Ejemplo
para cada uno de los elementos del array $usuarios hay un array llamado $key y un array llamado $values
en el ejemplo anterior key=0,1 values=array(‘nombre…

foreach($usuarios as $key=>$usuario)
{
    echo"<pre>";
    print_r($usuario);
    echo"</pre>";
}

array_keys
funcion que devuelve un array con las llaves (las cabeceras)

$keys_arr=array_keys($usuarios[0]);

Recorrer un array con While
Con while se puede hacer lo mismo que con foreach, tal como vemos en este ejemplo

$arr = array("one", "two", "three");
 
reset($arr);
while (list(, $value) = each($arr)) {
    echo "Value: $value<br />\n";
}
foreach ($arr as $value) {
    echo "Value: $value<br />\n";
}
 
reset($arr);
while (list($key, $value) = each($arr)) {
    echo "Key: $key; Value: $value<br />\n";
}
foreach ($arr as $key => $value) {
    echo "Key: $key; Value: $value<br />\n";
}

list($var1,$var2..) = $array
coloca en cada variable un elemento del array

$info = array('coffee', 'brown', 'caffeine');
list($drink, $color, $power) = $info;
echo "$drink is $color and $power makes it special.\n";

each($array)
devuelve la clave y el valor de un array (en un array de 4 elementos), y avanza una posición

$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');
while (list($key, $val) = each($fruit)) {
    echo "$key => $val\n";
}

[cc lang=”php” tab_size=”2″ lines=”40″]
$info = array(‘café’, ‘marrón’, ‘cafeína’);
// Enumerar todas las variables
list($bebida, $color, $energía) = $info;
echo “El $bebida es $color y la $energía lo hace especial.\n”;
[/cc]

Leave a Reply

Your email address will not be published. Required fields are marked *