Introducción a la matriz asociativa

Una matriz es una colección de tipos de datos similares y diferentes. Una matriz almacena en una variable datos relacionados. Necesitamos matrices para crear y almacenar estos muchos números de valores de variables en una variable. Hay tres tipos de matriz en PHP. Matrices numéricas, matrices asociativas y matrices multidimensionales. Una matriz asociativa tiene la forma de un par clave-valor, donde la clave es el índice de la matriz y el valor es el elemento de la matriz. Aquí la clave puede ser definida por el usuario. Es similar a la matriz numérica, pero las claves y los valores que se almacenan en forma de un par clave-valor.

En este tema, vamos a aprender sobre la matriz asociativa en PHP.

Sintaxis

//First Way
$input = array("key1"=>"value1", "key2"=>"value2", "key3"=>"value3");
//Second Way
$input("key1") = value1;
$input("key2") = value2;
$input("key3") = value3;

donde $ input es el nombre de la matriz, key1 es el índice del elemento de la matriz y value1 es el valor del elemento de la matriz

¿Cómo crear una matriz asociativa en PHP?

La matriz asociativa se declara utilizando una palabra clave de matriz. El valor clave en la matriz se declara usando la flecha '=>'. Hay dos formas de crear una matriz asociativa.

Los siguientes son el ejemplo

Código:

<_?php
// create associative array
// first way
$family = array("father" => "Mohan", "mother"=>"Sita", "son"=> "Raj", "daughter"=> "Mona");
// second way
$family("father") = "Mohan";
$family("mother") = "Sita";
$family("son") = "Raj";
$family("daughter") = "Mona";
?>

Cómo atravesar una matriz asociativa en PHP usando varios métodos

Hay dos métodos a través de los cuales podemos atravesar la matriz asociativa. Uno es el bucle foreach y el segundo es para un bucle.

Método 1

En este ejemplo, una matriz se declara y se nombra como $ family. Esta matriz está en la forma clave-valor donde las claves son nombres de relaciones como Padre, Madre, Hijo, Hija. Y cada clave contiene el nombre de la relación, como el primer valor para el índice Padre es Mohan, el segundo valor para el índice Madre es Sita, el tercer valor para el índice Hijo es Raj, el cuarto valor para el índice Hija es Mona. Para atravesar esta matriz, utilizamos un bucle foreach, en el que imprimimos ambas teclas como Padre, Madre, Hijo, Hija y valores como Mohan, Sita, Raj y Mona de la matriz.

Código:

<_?php
//example of the associative array
$family = array("father" => "Mohan", "mother"=>"Sita", "son"=> "Raj", "daughter"=> "Mona");
//first method to traverse the associative array
foreach($family as $key=>$value) (
echo $key .' is '.$value;
echo '
';
)
?>

Método 2

En este ejemplo, utilizaremos la misma familia de matrices que en el ejemplo anterior y atravesaremos usando for loop. Además, utilizaremos la función array_keys para obtener las claves de la matriz que son padre, madre, hijo e hija. Estas claves se devuelven en forma de matriz. La función array_keys toma una matriz de entrada como parámetro y genera una matriz indexada. Ahora para iterar a través de este ciclo, usaremos for loop e imprimiremos las claves y los valores según sea necesario.

Código:

// Example to demonstrate for loop
$family = array("father" => "Mohan", "mother"=>"Sita", "son"=> "Raj", "daughter"=> "Mona");
$length = count($family);
$keys = array_keys($family);
// for loop to traverse associative array
for($i=0; $i<$length; $i++) (
echo "
". $keys($i) . " => " . $family($keys($i));
)
?>
<_?php
// Example to demonstrate for loop
$family = array("father" => "Mohan", "mother"=>"Sita", "son"=> "Raj", "daughter"=> "Mona");
$length = count($family);
$keys = array_keys($family);
// for loop to traverse associative array
for($i=0; $i<$length; $i++) (
echo "
". $keys($i) . " => " . $family($keys($i));
)
?>

Salida:

Ventajas de la matriz asociativa en PHP

  1. Hay diferentes funciones que funcionan para fusionar dos matrices asociativas.
  2. Es similar a la lista de usuarios, pila, cola, etc.
  3. Se utilizan índices en la matriz que son útiles para recordar los datos.
  4. Estos índices están definidos por el usuario y se pueden cambiar en consecuencia.
  5. Las matrices superglobales como $ _POST, $ _GET, $ _SESSION también admiten matrices asociativas.

Clasificación de matriz asociativa por valor en PHP

Una matriz asociativa se puede ordenar de dos maneras según la clave y el valor. Aquí aprenderemos sobre cómo ordenar la matriz asociativa por valor. Hay dos funciones php incorporadas como asort () y arsort () que se utilizan para ordenar la matriz asociativa por valor en orden alfabético.

Aprendamos esto con un ejemplo.

1. asort (): realiza una ordenación en una matriz asociativa de acuerdo con el valor en orden ascendente

Código:

<_?php
// example to demonstrate asort() function on associative array by value in ascending order
$family = array("father" => "Mohan", "mother"=>"Sita", "son"=> "Raj", "daughter"=> "Mona");
print_r($family);
asort($family);
echo "
";
print_r($family);
?>

Salida:

2. arsort (): realiza una ordenación en una matriz asociativa de acuerdo con el valor en orden descendente

Código:

<_?php
// example to demonstrate asort() function on associative array by value in descending order
$family = array("father" => "Mohan", "mother"=>"Sita", "son"=> "Raj", "daughter"=> "Mona");
echo "
Before Sort";
print_r($family);
arsort($family);
echo "
After Sort";
print_r($family);
?>

Salida:

Clasificación de la matriz asociativa por clave en PHP

Como matriz asociativa se puede ordenar por valor en orden ascendente. De manera similar, la matriz asociativa se puede ordenar alfabéticamente por clave, tanto en orden ascendente como descendente, como se muestra en el siguiente ejemplo

1. ksort (): realiza una ordenación en una matriz asociativa de acuerdo con la clave en orden ascendente

Código:

<_?php
// example to demonstrate ksort() function on associative array by key in ascending order
$family = array("father" => "Mohan", "mother"=>"Sita", "son"=> "Raj", "daughter"=> "Mona");
echo "
Before Sort";
print_r($family);
ksort($family);
echo "
After Sort";
print_r($family);
?>

Salida:

2. krsort () : realiza una ordenación en una matriz asociativa de acuerdo con la clave en orden descendente

Código:

<_?php
// example to demonstrate krsort() function on associative array by key in descending order
$family = array("father" => "Mohan", "mother"=>"Sita", "son"=> "Raj", "daughter"=> "Mona");
echo "
Before Sort";
print_r($family);
krsort($family);
echo "
After Sort";
print_r($family);
?>

Salida:

Conclusión

Se explican los programas que comienzan desde básicos, como la sintaxis, la creación de la matriz, cómo recorrerla. Además, también se mencionan temas como las ventajas de la matriz asociativa y cómo realizar la clasificación en la matriz asociativa.

Artículos recomendados

Esta es una guía de matriz asociativa en PHP. Aquí discutimos cómo crear una matriz asociativa, una matriz asociativa transversal en PHP y cómo ordenar las matrices por valor y clave. También puede consultar el siguiente artículo para obtener más información:

  1. Sesiones en PHP
  2. Palindrome en PHP
  3. Objeto en PHP
  4. Sobrecarga en PHP
  5. Guía completa para ordenar en C # con ejemplos
  6. Tipos de datos C ++
  7. Sobrecarga de Python
  8. Palindrome en JavaScript
  9. Clasificación de dos tipos en el tipo de datos de Hive