Introducción a las matrices 2D en PHP

Una matriz es una colección de elementos de cualquier tipo de datos. Hay muchos tipos de datos en php como string, integer, boolean, array, object, resource … etc. Una matriz 2D es una mezcla de estos tipos de datos, principalmente la matriz. Hay tres tipos diferentes de matrices 2D en PHP que son los siguientes:

  • Matriz numérica
  • Matriz asociativa
  • Matriz multidimensional

Estas tres matrices se explican a continuación:

1. La matriz numérica: la matriz con un índice numérico.

Sintaxis :

array(value1, value2, value3, …);

Ejemplo :

$input = array(10, 20, 30, 40, 50);

2. La matriz asociativa : la matriz con cadena o índice de números. Los elementos de esta matriz se almacenan en forma de un par clave-valor.

Sintaxis :

array('key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3', …);

Ejemplo :

$input = array(0 =>Emma, 1=>Alice, 2=>'John');

3. La matriz multidimensional : la matriz de una matriz es la matriz multidimensional o una matriz 2D o una matriz anidada. Este formato es siempre una matriz o matriz. Y así se llama una matriz anidada.

Sintaxis:

array (
array (elements…),
array (elements…),

)

Ejemplo:

$input = array(
array( "red", "green", "blue" ),
array( "yellow", "black", "white" )
);

En el ejemplo anterior, la matriz de entrada es un ejemplo de una matriz bidimensional. Aquí, la matriz principal contiene 2 elementos donde cada elemento es en sí mismo una matriz de 3 elementos.

¿Cómo definir matrices 2D?

Aprendimos que en la matriz 2D el elemento de valor es una matriz que además puede tener sub-matrices. Las dimensiones mencionadas en una matriz tienen forma de filas y columnas. Teniendo en cuenta el formato tabular de la matriz, es más fácil aprender a definir estas matrices. Esto significa que si se trata de una matriz bidimensional, se utilizarán dos índices, de manera similar, si se trata de una matriz tridimensional, se utilizarán tres índices, etc.

¿Cómo crear matrices 2D?

Como sabemos cómo definir una matriz 2D, podemos crearla ahora. Aquí el índice no está definido y, por defecto, es un número que siempre comienza con 0.

$input=array(
array( "red", "green", "blue" ),
array( "yellow", "black", "white" )
);

La matriz también se puede definir en forma de matriz asociativa.

(in key =>value form)

El índice o la clave es una cadena como colores, frutas y automóviles. Los elementos de valor tienen la forma de una matriz que contiene 3 elementos cada uno.

$input = array(
'colors'=>array (“Red", "Green", "Blue"),
'fruits'=>array ("Apple", "Orange", "Grapes"),
'cars'=>array (“BMW”, ”Skoda”, ”Mercedes”)
);

¿Cómo acceder a elementos de matrices 2D?

Para acceder a estos valores de matriz, puede utilizar corchetes. A medida que profundiza en más niveles de la matriz 2D, el uso del conjunto de corchetes aumentará con cada nivel.

Ejemplo 1

$input = array (
'colors' =>array (“Red", "Green", "Blue"),
'fruits' =>array ("Apple", "Orange", "Grapes"),
'cars' =>array ("Skoda", "BMW", "Mercedes")
);

Recuerde que el primer conjunto de corchetes contiene la clave que en este caso son colores, frutas, automóviles. Seguido por un conjunto más de corchetes para atravesar el siguiente nivel y se puede acceder con números como 0, 1, 2.

Entonces, si queremos acceder al elemento "Uvas" en la matriz anterior,

echo $input('fruits')(2);

Del mismo modo, los siguientes ejemplos

Si queremos acceder al elemento "Mercedes" en la matriz, entonces

echo $input('cars')(2);

Si queremos acceder al elemento "Rojo" en la matriz, entonces

echo $input('colors)(0);

Como el índice siempre comienza con 0 en una matriz.

Ejemplo # 2

$input = array (
array (“Red", "Green", "Blue"),
array ("Yellow", "Orange", "Purple"),
);

Si queremos acceder al elemento "Naranja" en la matriz anterior, usaremos la siguiente línea

echo $input(0)(1);
will give “Green”
echo $input(1)(2);
will give “Purple”
echo $input(0)(0);
will give “Red”

¿Cómo insertar elementos de matrices 2D en PHP?

Como sabemos cómo definir, crear y acceder a los elementos de la matriz, aprenderemos ahora cómo insertar elementos en la matriz. Hay funciones de matriz definidas en PHP para trabajar en matrices multidimensionales como la función array_push () para insertar, la función array_shift () para eliminar y así sucesivamente.

$input = array (
'colors'=>array (“Red", "Green", "Blue"),
'fruits'=>array ("Apple", "Orange", "Grapes"),
'cars'=>array ("Skoda", "BMW", "Mercedes")
);

Usando la función print_r () imprimiremos la matriz en primer lugar tal como está.

Código:

//create multidimensional array
$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
// print the multidimensional array
echo "

 ";
print_r ($ entrada);
eco "
 ";

Salida:

Ahora para agregar un elemento al subconjunto de frutas usaremos

array_push() function

Sintaxis:

array_push(array, value1, value2…)

Dónde,

  • La matriz es la matriz $ input
  • valor1 es el elemento que se agregará a la matriz
  • value2, value3, son opcionales

Ejemplo 1

Código:

$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
array_push($input('colors'), "Black");
echo "

 ";
print_r ($ entrada);
eco "
 ";

Salida:

En el siguiente programa simplemente eliminamos la clave "colores", y descubrimos que se adjunta al último de la matriz dada con una clave 0 como se muestra en la imagen de salida.

Ejemplo # 2

Código:

// create multidimensional array
$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
// adding a value to array
array_push($input, "Black");
// print the multidimensional array
echo "

 ";
print_r ($ entrada);
eco "
 ";

Salida:

Ejemplo # 3

Código:

//create multidimensional array
$input = array (
array ("Red", "Green", "Blue"),
array ("Yellow", "Orange", "Purple")
);
//add a color to the array
array_push($input, "Black");
// print the multidimensional array
echo "

 ";
print_r ($ entrada);
eco "
 ";

Salida:

¿Cómo actualizar elementos de matrices 2D en PHP?

Para actualizar un elemento de la matriz 2D simplemente obtenga la clave de la matriz y reemplace el valor de esa clave en una matriz particular.

$input('cars')('Mercedes') = 'Duster';

Ejemplo 1

Código:

//create multidimensional array
$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
//update the Mercedes with Duster
$input("cars")(2) = "Duster";
// print the multidimensional array
echo "

 ";
print_r ($ entrada);
eco "
 ";

Salida:

Ejemplo # 2

Código:

//create multidimensional array
$input = array (
array ("Red", "Green", "Blue"),
array ("Yellow", "Orange", "Purple")
);
//update the Mercedes with Duster
$input(0)(1) = "White";
// print the multidimensional array
echo "

 ";
print_r ($ entrada);
eco "
 ";

Salida:

¿Cómo eliminar elementos de matrices 2D?

Para eliminar un elemento de la matriz 2D usaremos la función array_shift ().

array_shift elimina y devuelve el primer valor del elemento de la matriz.

Sintaxis:

array_shift(array)
where
-array is the $input array

Ejemplo 1

Código:

//create multidimensional array
$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
//print the removed element
print_r(array_shift($input));

Salida:

Ejemplo # 2

Código:

//create multidimensional array
$input = array (
array ("Red", "Green", "Blue"),
array ("Yellow", "Orange", "Purple")
);
//print the removed element
print_r(array_shift($input));

Salida:

Bidimensional en matriz asociativa

En el siguiente ejemplo, hemos creado una matriz de 2-d que contiene la información de libros como el autor del libro, tipo de libro y publicado en el año. Además, aprenderemos cómo atravesar o recorrer esta matriz. Recorriendo la matriz multidimensional utilizaremos un bucle foreach anidado. Es decir, un bucle foreach dentro de otro bucle foreach. Lo mismo también se puede hacer usando for loop.

$input = array(
"The_Alchemist" => array (
"author" => "Paulo Coelho",
"type" => "Fiction",
"published_year" => 1988
),
"Managing_Oneself" => array (
"author" => "Peter Drucker",
"type" => "Non-fiction",
"published_year" => 1999
),
"Measuring_the_World" => array(
"author" => "Daniel Kehlmann",
"type" => "Fiction",
"published_year" => 2005
)
);

Simplemente imprimir la matriz anterior sin ningún bucle nos dará el siguiente resultado:

Código:

// create multidimensional array
$input = array(
"The_Alchemist" => array (
"author" => "Paulo Coelho",
"type" => "Fiction",
"published_year" => 1988
),
"Managing_Oneself" => array (
"author" => "Peter Drucker",
"type" => "Non-fiction",
"published_year" => 1999
),
"Measuring_the_World" => array(
"author" => "Daniel Kehlmann",
"type" => "Fiction",
"published_year" => 2005
)
);
// print the plain multidimensional array
echo "

 ";
print_r ($ entrada);
eco "
";

Salida:

Ahora imprimiremos la matriz multidimensional utilizando un bucle foreach.

Código:

// create multidimensional array
$input = array(
"The_Alchemist" => array (
"author" => "Paulo Coelho",
"type" => "Fiction",
"published_year" => 1988
),
"Managing_Oneself" => array (
"author" => "Peter Drucker",
"type" => "Non-fiction",
"published_year" => 1999
),
"Measuring_the_World" => array(
"author" => "Daniel Kehlmann",
"type" => "Fiction",
"published_year" => 2005
)
);
//foreach to loop the outer array
foreach($input as $book) (
echo "
";
// foreach to loop the inner array
foreach($book as $key=>$value)
(
echo $key." ". $value. "
";
)
)

Salida:

Conclusión

Espero que este artículo sea útil para aprender los conceptos del tema en una matriz 2D en PHP. Este tema cubre todos los conceptos necesarios para la comprensión relacionada con la matriz 2D en PHP. Este tema se simplifica con la ayuda de ejemplos con las instantáneas de salida a las que hacer referencia. Según el artículo, si todos los programas se practican bien, seguramente lo ayudarán a comprender los conceptos fácilmente. Espero que el tema sea más informativo para obtener más conocimiento.

Artículos recomendados

Esta es una guía de matrices 2D en PHP. Aquí discutimos los tres tipos diferentes de la matriz en php y Cómo actualizar, insertar y eliminar elementos de matrices 2D con ejemplos apropiados. También puede consultar el siguiente artículo.

  1. Para Loop en PHP
  2. Intercambio en PHP
  3. Patrones de estrellas en PHP
  4. Constantes PHP
  5. Guía de diferentes tipos de datos de C #