Matriz multidimensional em PHP [com exemplos]

Publicados: 2020-11-24

Quando falamos sobre armazenar valores em PHP, falamos sobre a palavra array. Para armazenar vários valores, existem duas maneiras de realizar a tarefa. Uma maneira é atribuir cada valor a uma única variável e a outra, muito mais eficiente, é atribuir vários valores a uma única variável. Isso é o que chamamos de array.

Uma matriz é uma maneira de armazenar vários valores em uma única variável. Os arrays, portanto, formam uma parte importante das ferramentas de acesso das comunidades de programação. As matrizes podem armazenar valores numéricos e de string e podem ter várias dimensões.

Assim, um array com mais de uma dimensão é chamado de array multidimensional em PHP , sobre o qual falaremos detalhadamente através de exemplos práticos posteriormente neste artigo.

Para entender melhor o que é um array e suas dimensões, vamos a um exemplo.

Suponha que você vá a um supermercado e compre um pacote de biscoitos. Ao abrir a embalagem, os biscoitos são alinhados um após o outro. Isso significa que eles estão dispostos de forma linear e, portanto, este é um exemplo de uma matriz unidimensional.

Em seguida, você pensa em comprar um pacote de frutas secas variadas. Agora, quando você abre o pacote, há ranhuras ao longo da largura e do comprimento da caixa, nas quais são mantidas diferentes frutas secas. Isso forma um exemplo de uma matriz bidimensional em que a caixa representa a matriz e as frutas secas nas ranhuras compõem os elementos.

Leia: Ideias e tópicos de projetos PHP

Tipos e características

Quando falamos de arrays, falamos sobre eles em dois termos – que tipo é um array e quais são suas características ou atributos. O tipo de array é definido por suas dimensões. Por essa virtude, existem dois tipos: array unidimensional ou unidimensional e multidimensional em PHP .

Como já foi explicado nos exemplos acima, você deve ter tido uma ideia das dimensões de um array. Então, para acessar um elemento é um array unidimensional, você precisa apenas de um índice.

Mas para acessar um elemento em um array multidimensional em PHP , você precisa de dois índices para array bidimensional, três para array tridimensional e assim por diante. Assim, um array multidimensional é definido como um array de arrays ou sub-arrays, conforme o caso.

As características de um array podem ser classificadas como numéricas ou associativas.

  • Array numérico é um array que usa números para acessar seus elementos armazenados no array.
  • O array associativo usa strings ou nomes para acessar os elementos armazenados. Por exemplo, o nome de um funcionário para acessar dados do registro ou servidor da empresa.

A seguir está a sintaxe para definir uma matriz numérica unidimensional:

<?php

$variable name = array('index no.' => 'element',…);

?>

Onde,

'$variable name' é o nome do array

'nº de índice.' refere-se ao índice do elemento armazenado

'elemento' refere-se ao valor armazenado

Observe que o número de índice padrão sempre começa com '0'.

Vejamos um exemplo

<?php

//Programa para criar array numérico unidimensional

$ Marcas de carros = array ( 0 => 'BMW',

1 => 'Land Rover',

2 => 'Ferrari',

3 => 'Ford',

4 => 'Toyota');

Print_r($marcas de carros);

?>

Saída:

Variedade

(

[0] => BMW

[1] => Land Rover

[2] => Ferrari

[3] => Ford

[4] => Toyota

)

Como podemos ver na saída, as marcas dos carros são atribuídas e acessadas pelas teclas numéricas 0, 1, 2, …, etc.

Vamos dar uma olhada em um array associativo unidimensional; segue a sintaxe para o mesmo:

<?php

$variável nome = array( 'string/chave' => 'elemento',…);

?>

Onde,

'$variable name' é o nome do array

'string/key' refere-se ao id do elemento armazenado

'elemento' refere-se ao valor armazenado

Aqui está um exemplo de uma matriz unidimensional associativa. Suponha que queremos armazenar os nomes de alguns países e o respectivo continente em que se encontram.

<?php

$Países = array(

“Itália” => “Europa”,

“Índia” => “Ásia”,

“Brasil” => “América do Sul”

“México” => “América do Norte”,

);

echo “O México está em” $Países [“México”];

?>

Saída:

O México fica na América do Norte

Agora é hora de entender como funciona um array multidimensional em PHP . Aqui está a sintaxe.

<?php

$ nome da variável = array(

Array1( 'string/chave' => 'elemento',…),

Array2( 'string/chave' => 'elemento',…),…

);

?>

Podemos organizar arrays em termos de grupos ou padrões. Por exemplo, podemos organizar modelos de carros com base em seus tipos de carroceria. Aqui está um código de exemplo.

<?php

$ Estilos de carroceria = array(

“SUV” => array( “Escorpião”, “Harrier”, “Creta”, “Seltos”, “Fortuner”),

“Hatchback” => array( “Swift”, “Jazz”, “Tiago”, “i20”)'

“MPV” => array( “Ertiga”, “Innova”, “Triber”)

);

Ecoar estilos de carroceria $Car[“SUV”][3];

?>

Saída:

Creta

Vamos criar rapidamente uma matriz tridimensional adicionando dados de vendas ao exemplo anterior.

<?php

$ Estilos de carroceria = array(

“SUV” => array(

“Escorpião” => array(“20 de janeiro” =>“4521”, “20 de fevereiro” => “3589”),

“Harrier” => array(“20 de janeiro” =>“1987”, “20 de fevereiro”=> “2356”),

“Creta” => array(“20 de janeiro” => “10459”, “20 de fevereiro” => “9887”),

“Seltos” => array(“20 de janeiro” => “12549”, “20 de fevereiro” => “13589”),

“Fortuner” => array(“20 de janeiro” => “1897”, “20 de fevereiro” => “1692”),

),

“Hatchback” => array(

“Rápido” => array(“20 de janeiro” =>“19875”, “20 de fevereiro” => “18521”),

“Jazz” => array(“20 de janeiro” =>“2451”, “20 de fevereiro”=> “2390”),

“Tiago” => array(“20 de janeiro” => “6587”, “20 de fevereiro” => “8850”),

),

“MPV” => array(

“Ertiga” => array(“20 de janeiro” =>“5680”, “20 de fevereiro” => “4920”),

“Inova” => array(“20 de janeiro” =>“2540”, “20 de fevereiro”=> “2135”)

);

Echo “As vendas de Creta para o mês de 20 de janeiro são” $Carros de carroçaria[“SUV”][“Creta”][“Jan20”];

?>

Saída:

As vendas de carros de Creta no mês de 20 de janeiro são 10459

Deve ler: Perguntas e respostas da entrevista PHP

Conclusão

Assim, podemos concluir que os arrays são uma forma eficiente e flexível de armazenamento e acesso a dados. As matrizes podem ser esticadas ou comprimidas conforme a necessidade, o que permite fácil modificação. Arrays multidimensionais associativos nos ajudam a agrupar dados relacionados. Além disso, os arrays ajudam a obter um código mais limpo e organizado. Além disso, você pode realizar várias operações em uma matriz, como classificação, contagem, etc.

Se você estiver interessado em aprender mais sobre PHP, desenvolvimento de software full-stack, confira o PG Diploma in Full-stack do upGrad & IIIT-B, projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, mais de 9 projetos , e atribuições, status de ex-alunos do IIIT-B, projetos práticos práticos e assistência de trabalho com as principais empresas.

Torne-se um Desenvolvedor Full Stack

UPGRAD E DIPLOMA PG DO IIIT-BANGALORE EM DESENVOLVIMENTO DE SOFTWARE FULL STACK
Saber mais