17-Arrays en php

Un array (Matriz) almacena múltiples valores en una sola variable:


Ejemplo

        <?php
        $cars = array("Volvo", "BMW", "Toyota");
        echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
        ?> 
    

que es un array

un array es una variable que puede contener mas de una variable que puede contener mas de un valor a la vez

ejemplo

Si almacenamos las marcas de coches en variables individuales, lo hariamos asi;

$cars1 = "Mercedez";
$cars2 = "Seat";
$cars3 = "Volkwagen"; 

Bueno si tenesmo solo 3 coches, estaria bien, pero supongamos que tenemos 400 marcas, quedaria muy feo, hacerlo uno a uno, entonces la solucion es crear un (array) matriz

Una matriz o (array) puede tener muchos valores en una sola variable

Puede aceder a todos los valores, individualmente creando un index




...

Crear un array (Matriz)

En php para crear un array utilizamos la palabra array

array();

En php existen 3 tipos de arreglos (arrays)

  • Arreglos indexados - Arreglos con un índice numérico
  • Matrices asociativas - Matrices con claves nombradas
  • Matrices multidimensionales : matrices que contienen una o más matrices

Para obtener la longitud de un array, se usaa la funtion count

La function count se utiliza para devolver la longitud de un array

<?php
$cars = array("Volvo", "BMW", "Toyota");
echo count($cars);
?> 



Matrices indexadas

Hay dos formas de crear matrices indexadas:

El indix se inicia en cero (0)

Se puede asignar automaticamente de la seguinet manera:

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

O se puede asignar manualmente, como muestra el ejemplo:

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



El seguiente ejemplo crea una matriz (array) indexada llamada $cars con 3 elementos

Despues los imprime

<?php
$cars = array("Volvo", "BMW", "Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?> 



bucle con un array indexado

Para percorrer un array indexado y imprimilo, podemos usar el ciclo for

<?php
$cars = array("Volvo", "BMW", "Toyota");
$arrlength = count($cars);

for($x = 0; $x < $arrlength; $x++) {
  echo $cars[$x];
  echo "<br>";
}
?> 



Arrays associativos

los arreglos associativos son arreglos que usan llaves que nosotros le asignamos

Hay dos formas de crear arrays associativos

$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");

O

$age['Peter'] = "35";
$age['Ben'] = "37";
$age['Joe'] = "43"; 
  

Las llaves nombradas se pueden usar en un script

<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?> 



Bucle a través de una matriz asociativa

Para recorrer todos los valores de un array associativo usamos el ciclor foreach

<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");

foreach($age as $x => $x_value) {
  echo "Key=" . $x . ", Value=" . $x_value;
  echo "<br>";
}
?>



arrays (matrizes) multidimensionales

Los arreglos multidimensionales son valores con mas de una clave

un array multidimensional son mas de uno array

php admite arreglos multidimensionales con una profundidad de mas de 5, pero hay que tomar nota que matrices (arrays) con una profundida mayor que 3 son dificiles de administrar

Una matriz bidimensional necessita tener dos indices para selecionar un elemento

Una matriz tridimensional necessita tener tres indices para selecionar un elemento


Array bidimensional

para que entendemos bien, vamos a poner un ejemplo

Marca Stock Precio
Mercedes 12 22.000
Seat 30 12000
Volkvagen 10 7000
Citroen 15 15000

Vamos guardar los datos de la tabla enterior en un array

$cars = array (
array("Mercedez",12,22000),
array("Seat",30,12000),
array("Volkwagen",10,7000),
array("Citroen",15,15000)
);

Ahora, la matriz bidimensional $cars contiene cuatro matrices y tiene dos índices: fila y columna.

Para tener acceso a los elementos de la matriz $cars debemos apuntar a los dos índices (fila y columna):

<?php
echo $cars[0][0].": In stock: ".$cars[0][1].", Precio: ".$cars[0][2].".<br>";
echo $cars[1][0].": In stock: ".$cars[1][1].", Precio: ".$cars[1][2].".<br>";
echo $cars[2][0].": In stock: ".$cars[2][1].", Precio: ".$cars[2][2].".<br>";
echo $cars[3][0].": In stock: ".$cars[3][1].", Precio: ".$cars[3][2].".<br>";
?> 

Para obtener los elementos de la matriz lo podemos hacer tambien con un cilo for

Pero hay que apuntar a los dos indices

<?php
for ($row = 0; $row < 4; $row++) {
  echo "<p><b>Row number $row</b></p>";
  echo "<ul>";
  for ($col = 0; $col < 3; $col++) {
    echo "<li>".$cars[$row][$col]."




Publicar un comentario

0 Comentarios