Introdução à Matriz Associativa

Uma matriz é uma coleção de tipos de dados semelhantes e diferentes. Uma matriz armazena dados variáveis ​​relacionados. Precisamos de matrizes para criar e armazenar esses muitos números de variáveis ​​em uma variável. Existem três tipos de matriz no PHP. Matrizes numéricas, matrizes associativas e matrizes multidimensionais. Uma matriz associativa está na forma de par de valores-chave, em que a chave é o índice da matriz e o valor é o elemento da matriz. Aqui a chave pode ser definida pelo usuário. É semelhante à matriz numérica, mas às chaves e valores armazenados na forma de um par de valores-chave.

Neste tópico, vamos aprender sobre a matriz associativa em PHP.

Sintaxe

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

onde $ input é o nome da matriz, key1 é o índice do elemento da matriz e value1 é o valor do elemento da matriz

Como criar uma matriz associativa em PHP?

A matriz associativa é declarada usando uma palavra-chave da matriz. O valor da chave na matriz é declarado usando a seta '=>'. Existem duas maneiras de criar uma matriz associativa.

A seguir estão o exemplo

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";
?>

Como atravessar a matriz associativa no PHP usando vários métodos

Existem dois métodos pelos quais podemos atravessar a matriz associativa. Um é o loop foreach e o segundo é para um loop.

Método 1

Neste exemplo, uma matriz é declarada e nomeada como uma família $. Essa matriz está na forma de valor-chave, na qual as chaves são nomes de relações como Pai, Mãe, Filho, Filha. E cada chave contém o nome do relacionamento, como o primeiro valor do índice Pai é Mohan, o segundo valor do índice Mãe é Sita, o terceiro valor do índice Filho é Raj, o quarto valor do índice Filha é Mona. Para percorrer essa matriz, usamos um loop foreach, no qual imprimimos as duas chaves como Pai, Mãe, Filho, Filha e valores como Mohan, Sita, Raj e Mona da 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

Neste exemplo, usaremos a mesma família de matrizes do exemplo anterior e percorreremos o loop for. Além disso, usaremos a função array_keys para obter as chaves da matriz que são pai, mãe, filho e filha. Essas chaves são retornadas na forma de uma matriz. A função array_keys utiliza uma matriz de entrada como parâmetro e gera uma matriz indexada. Agora, para percorrer esse loop, usaremos o loop for e imprimiremos as chaves e os valores conforme necessário.

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));
)
?>

Resultado:

Vantagens da matriz associativa em PHP

  1. Existem funções diferentes que trabalham para mesclar duas matrizes associativas.
  2. É semelhante à lista de usuários, pilha, fila, etc.
  3. São utilizados índices na matriz que são úteis para lembrar os dados
  4. Esses índices são definidos pelo usuário e podem ser alterados de acordo.
  5. As matrizes superglobal, como $ _POST, $ _GET, $ _SESSION, também suportam matrizes associativas.

Classificação da matriz associativa por valor em PHP

Uma matriz associativa pode ser classificada de duas maneiras, com base na chave e no valor. Aqui aprenderemos sobre a classificação do array associativo por valor. Existem duas funções php embutidas, como asort () e arsort (), que são usadas para classificar o array associativo por valor em ordem alfabética.

Vamos aprender isso com um exemplo.

1. asort (): executa uma classificação na matriz associativa de acordo com o valor em ordem crescente

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);
?>

Resultado:

2. arsort (): executa uma classificação na matriz associativa de acordo com o valor em ordem decrescente

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);
?>

Resultado:

Classificação da matriz associativa por chave no PHP

Como a matriz associativa pode ser classificada por valor em ordem crescente. De maneira semelhante, a matriz associativa pode ser classificada por chave em ordem alfabética, tanto em ordem crescente como em ordem decrescente, conforme mostrado no exemplo abaixo

1. ksort (): executa uma classificação no array associativo de acordo com a chave em ordem crescente

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);
?>

Resultado:

2. krsort () : executa uma classificação no array associativo de acordo com a chave em ordem decrescente

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);
?>

Resultado:

Conclusão

Programas a partir do básico, como a sintaxe, a criação da matriz, como percorrer a matriz, são explicados. Além disso, tópicos como vantagens da matriz associativa e como executar a classificação na matriz associativa também são mencionados.

Artigos recomendados

Este é um guia para Matriz Associativa em PHP. Aqui discutimos como criar uma matriz associativa, cruzar matriz associativa em PHP e classificar matrizes por valor e chave. Você também pode consultar o seguinte artigo para saber mais -

  1. Sessões em PHP
  2. Palíndromo em PHP
  3. Objeto em PHP
  4. Sobrecarga em PHP
  5. Guia completo para classificação em c # com exemplos
  6. Tipos de Dados C ++
  7. Sobrecarga de Python
  8. Palindrome em JavaScript
  9. Classificando dois tipos no tipo de dados Hive