Matriz PHP: Associativa, Multidimensional
⚡ Resumo Inteligente
Os arrays em PHP armazenam muitos valores relacionados dentro de uma única variável, facilitando o agrupamento e o processamento de dados relacionados. Este guia aborda arrays numéricos, associativos e multidimensionais, os operadores de comparação de arrays e funções principais como `count`, `sort`, `ksort` e `asort`.

O que é uma matriz PHP?
Um array PHP é uma variável que armazena mais de um dado relacionado em uma única variável.
Pense em uma matriz como uma caixa de chocolates com ranhuras dentro.
A caixa representa a própria matriz, enquanto os espaços contendo chocolates representam os valores armazenados na matriz.
Os exemplos abaixo ilustram como isso funciona.
Matrizes Numéricas
Matrizes numéricas usam números como chaves de acesso.
Uma chave de acesso é uma referência a um slot de memória em uma variável de array.
A chave de acesso é usada sempre que queremos ler ou atribuir um novo valor a um elemento de um array.
A seguir, a sintaxe para criar um array numérico em PHP.
Exemplo de matriz
<?php $variable_name[n] = value; ?>
Or
<?php
$variable_name = array(n => value, ...);
?>
AQUI,
- “$variable_name…” é o nome da variável
- “[n]” é o número do índice de acesso do elemento
- “valor” é o valor atribuído ao elemento da matriz.
Vejamos agora um exemplo de uma matriz numérica.
Suponha que temos 5 filmes que queremos armazenar em variáveis de array.
Podemos usar o exemplo mostrado abaixo para fazer isso.
<?php $movie[0] = 'Shaolin Monk'; $movie[1] = 'Drunken Master'; $movie[2] = 'American Ninja'; $movie[3] = 'Once upon a time in China'; $movie[4] = 'Replacement Killers'; ?>
Aqui,
A cada filme é atribuído um número de índice que é usado para recuperar ou modificar seu valor. Observe o código a seguir.
<?php $movie[0]="Shaolin Monk"; $movie[1]="Drunken Master"; $movie[2]="American Ninja"; $movie[3]="Once upon a time in China"; $movie[4]="Replacement Killers"; echo $movie[3]; $movie[3] = " Eastern Condors"; echo $movie[3]; ?>
Saída:
Once upon a time in China Eastern Condors
Como você pode ver nos exemplos acima, trabalhar com arrays em PHP ao lidar com múltiplos valores da mesma natureza é muito fácil e flexível.
Alternativamente, as variáveis de array acima também podem ser criadas usando o código a seguir.
<?php $movie = array(0 => "Shaolin Monk", 1 => "Drunken Master", 2 => "American Ninja", 3 => "Once upon a time in China", 4 => "Replacement Killers" ); echo $movie[4]; ?>
Saída:
Replacement Killers
Matriz Associativa PHP
Os arrays associativos diferem dos arrays numéricos no sentido de que os arrays associativos usam nomes descritivos para as chaves de identificação.
A seguir, a sintaxe para criar um array associativo em PHP.
<?php $variable_name['key_name'] = value; $variable_name = array('keyname' => value); ?>
AQUI,
- “$variable_name…” é o nome da variável
- “['key_name']” é a chave de acesso do elemento
- “valor” é o valor atribuído ao elemento da matriz.
Suponhamos que temos um grupo de pessoas e queremos atribuir o gênero de cada pessoa ao seu nome.
Podemos usar um array associativo para isso. O código abaixo nos ajuda a fazer isso.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); print_r($persons); echo ""; echo "Mary is a " . $persons["Mary"]; ?>
AQUI,
Saída:
Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female
Os arrays associativos também são muito úteis na recuperação de dados do banco de dados.
Os nomes dos campos são usados como chaves de identificação.
Matrizes multidimensionais PHP
Estas são matrizes que contêm outras matrizes aninhadas.
A vantagem dos arrays multidimensionais é que eles nos permitem agrupar dados relacionados.
Vejamos agora um exemplo prático que implementa um array multidimensional em PHP.
A tabela abaixo mostra uma lista de filmes por categoria.
| Título do filme | Categoria |
|---|---|
| Pink Panther | Comédia |
| John Inglês | Comédia |
| Die Hard | Ação |
| Expendables | Ação |
| O senhor dos Anéis | Épico |
| Romeu e Julieta | Romance |
| Não veja nenhum mal, não ouça nenhum mal | Comédia |
As informações acima podem ser representadas como uma matriz multidimensional. O código abaixo mostra a implementação.
<?php $movies = array( "comedy" => array("Pink Panther", "John English", "See no evil hear no evil"), "action" => array("Die Hard", "Expendables"), "epic" => array("The Lord of the rings"), "Romance" => array("Romeo and Juliet") ); print_r($movies); ?>
AQUI,
Saída:
Array ( [comedy] => Array ( [0] => Pink Panther [1] => John English [2] => See no evil hear no evil ) [action] => Array ( [0] => Die Hard [1] => Expendables ) [epic] => Array ( [0] => The Lord of the rings ) [Romance] => Array ( [0] => Romeo and Juliet ) )
Outra forma de definir a mesma matriz é a seguinte.
<?php $film = array( "comedy" => array( 0 => "Pink Panther", 1 => "John English", 2 => "See no evil hear no evil" ), "action" => array ( 0 => "Die Hard", 1 => "Expendables" ), "epic" => array ( 0 => "The Lord of the rings" ), "Romance" => array ( 0 => "Romeo and Juliet" ) ); echo $film["comedy"][0]; ?>
Saída:
Pink Panther
Nota: o array numérico de filmes foi aninhado dentro do array associativo de categorias.
Matrizes PHP: Operatoros
| Operator | Nome | Descrição | Como fazer isso | saída |
|---|---|---|---|---|
| x+y | União | Combina elementos de ambas as matrizes |
<?php $x = array('id' => 1); $y = array('value' => 10); $z = $x + $y; ?> |
Matriz([id] => 1 [valor] => 10) |
| x == y | Igual | Compara duas matrizes e retorna verdadeiro se elas forem iguais. |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x == $y) { echo "true"; } else { echo "false"; } ?> |
Verdadeiro ou 1 |
| x === y | Idêntico | Compara os valores e tipos de dados |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x === $y) { echo "true"; } else { echo "false"; } ?> |
Falso ou 0 |
| x != y, x <> y | Não igual | Retorna verdadeiro se as duas matrizes não forem iguais. |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
Falso ou 0 |
| x !== y | Não idênticos | Retorna verdadeiro se os dois arrays não forem idênticos em valor ou tipo. |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x !== $y) { echo "true"; } else { echo "false"; } ?> |
Verdadeiro ou 1 |
Funções de array PHP
função de contagem
A função `count` é usada para contar o número de elementos que um array PHP contém. O código abaixo mostra a implementação.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo count($lecturers); ?>
Saída:
3
função is_array
A função `is_array` é usada para determinar se uma variável é uma matriz ou não. Vejamos agora um exemplo que implementa a função `is_array`.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo is_array($lecturers); ?>
Saída:
1
tipo
Esta função é usada para ordenar arrays pelos seus valores.
Se os valores forem alfanuméricos, ele os classifica em ordem alfabética.
Se os valores forem numéricos, ele os classifica em ordem crescente.
Remove as chaves de acesso existentes e adiciona novas chaves numéricas.
O resultado dessa função é uma matriz numérica.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); sort($persons); print_r($persons); ?>
Saída:
Array ( [0] => Female [1] => Female [2] => Male )
ksort
Esta função é usada para classificar o array usando a chave. O exemplo a seguir ilustra seu uso.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); ksort($persons); print_r($persons); ?>
Saída:
Array ( [John] => Male [Mary] => Female [Mirriam] => Female )
sortimento
Este função é usado para ordenar a matriz usando os valores enquanto keeping as teclas. O exemplo a seguir ilustra seu uso.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); asort($persons); print_r($persons); ?>
Saída:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
Por que usar matrizes?
- O conteúdo dos arrays pode ser expandido para armazenar mais valores.
- Os arrays facilitam o agrupamento de informações relacionadas, como detalhes de login do servidor.
- Matrizes ajudam a escrever um código mais limpo.



