Matriz PHP: Associativa, Multidimensional

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 o próprio array enquanto os espaços contendo chocolates representam os valores armazenados nos arrays.

O diagrama abaixo ilustra a sintaxe acima.

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 do array.

Abaixo está a sintaxe para criar 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 array numérico.

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,

Matriz PHP

Cada filme recebe um número de índice que é usado para recuperar ou modificar seu valor. Observe o seguinte código-

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

A matriz associativa difere da matriz numérica no sentido de que as matrizes associativas usam nomes descritivos para chaves de identificação.

Abaixo está a sintaxe para criar 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']” é o número do índice 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 em relação aos seus nomes.

Podemos usar um array associativo para fazer 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,

Matriz PHP

Saída:

Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female

Matrizes associativas também são muito úteis ao recuperar 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çao Social
Expendables Açao Social
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,

Matriz PHP

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 maneira de definir o mesmo array é 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: a matriz numérica de filmes foi aninhada dentro da matriz associativa 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 se forem iguais e retorna verdadeiro se sim.
<?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
<?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
<?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 é um array ou não. Vejamos agora um exemplo que implementa as funções is_array.

<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo is_array($lecturers);
?>

Saída:

1

tipo

Esta função é usada para classificar arrays pelos 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.

A saída desta função é um array numérico

<?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 classificar a matriz usando os valores. 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 esticado,
  • Matrizes ajudam facilmente a agrupar informações relacionadas, como detalhes de login do servidor
  • Matrizes ajudam a escrever um código mais limpo.

Resumo

  • Matrizes são variáveis ​​especiais com capacidade de armazenar múltiplos valores.
  • Matrizes são flexíveis e podem ser facilmente ampliadas para acomodar mais valores
  • Matrizes numéricas usam números para as chaves da matriz
  • Matriz associativa PHP usa nomes descritivos para chaves de matriz
  • Matrizes multidimensionais contêm outras matrizes dentro delas.
  • A função count é usada para obter o número de itens que foram armazenados em um array
  • A função is_array é usada para determinar se uma variável é um array válido ou não.
  • Outras funções de array incluem sort, ksort, assort etc.