Saber como declarar e acessar arrays no PHP é muito importante. Nesse artigo ensinaremos como trabalhar com arrays simples, associativos e multidimensionais no PHP.
Uma das estruturas mais utilizadas na linguagem PHP são os Arrays. Eles possuem uma estrutura muito flexível que permite ao desenvolvedor usa-los em diversos tipos de situações, além disso arrays no PHP também são extremamente simples declarar e acessar.
Curso PHP - Fundamentos
Conhecer o cursoO que são Arrays no PHP
Arrays no PHP são estruturas para armazenamento de informações do tipo chave/valor. A chave deve ser obrigatoriamente do tipo inteiro ou string e o valor pode ser de qualquer tipo válido no PHP, incluindo outro array.
Um Array no PHP pode conter diferentes tipos de dados, é possível em um mesmo array colocar números, strings, objetos ou qualquer outro tipo válido na linguagem.
Como declarar um array no PHP
A sintaxe simplificada de criação de arrays no PHP utiliza []
para declaração dos itens:
$notas = [5, 6, 4, 8, 2, 9];
A sintaxe acima é válida a partir do PHP 5.4, antes precisávamos utilizar o construtor array()
. Se for trabalhar em aplicações legadas é possível ver declarações de array do seguinte modo:
$notas = array(5, 6, 4, 8, 2, 9);
As duas sintaxes são válidas, devido a primeira tornar o código mais limpo, na maioria dos projetos atuais é a notação utilizada
Como acessar itens de um array no PHP
O modo mais simples de acessar os dados de um array no PHP é através da chave da posição. Todo item guardado em um array no PHP possui uma chave, mesmo que essa chave não seja declarada, como nos exemplos do tópico anterior. Quando não declaradas as chaves iniciam em 0 e vão sendo incrementadas.
Pegando o array de notas mostrados anteriormente, podemos acessar seus dados do seguinte modo:
$notas = [5, 6, 4, 8, 2, 9];
echo $notas[0]; // exibe 5
echo $notas[1]; // exibe 6
echo $notas[2]; // exibe 4
echo $notas[3]; // exibe 8
echo $notas[4]; // exibe 2
echo $notas[5]; // exibe 9
Criando arrays associativos no PHP
Como vimos até agora os arrays no PHP são estrutura do tipo chave/valor, porém até o momento só vimos a definição automática da chave pelo PHP, mas também podemos defini-las manualmente para melhorar a estrutura dos dados. Veja como fica o mesmo array de notas, mas agora com o nome de cada aluno:
$notas = [
"joao" => 5,
"maria" => 6,
"omar" => 4,
"gabriela" => 8,
"daniel" => 2,
"lucia" => 9
];
O acesso aos itens e feito do mesmo modo que vimos anteriormente:
echo $notas['joao']; // exibe 5
echo $notas['maria']; // exibe 6
echo $notas['omar']; // exibe 4
echo $notas['gabriela']; // exibe 8
echo $notas['daniel']; // exibe 2
echo $notas['lucia']; // exibe 9
Curso PHP - Fundamentos
Conhecer o cursoAdicionando itens a um array existente no PHP
Os exemplos que vimos até agora os dados são definidos diretamente na criação do array no PHP, porém é possível definir dados em um array mesmo depois de declarado, para isso usamos a seguinte sintaxe:
// Definição da chave automaticamente
$notas[] = 'Novo valor';
// Definição da chave manualmente
$notas['nova-chave'] = 'Novo valor';
O acesso é realizado do mesmo modo que já aprendemos, basta usar a nova chave.
Trabalhando com Array multidimensional do PHP
Existem situações onde para representar um determinado tipo de dado precisamos criar estruturas que contenham arrays dentro de arrays. Nesse caso usamos a mesma sintaxe que já aprendemos, tanto para definir, quanto para acessar os dados do array no PHP.
Vamos supor que a nota é composta pela média das três últimas provas, poderíamos ter uma estrutura assim:
$notas = [
'joao' => [
'nota-provas' => [4, 5, 6],
'nota-final' => 5
],
'maria' => [
'nota-provas' => [7, 5, 6],
'nota-final' => 6
],
'omar' => [
'nota-provas' => [4, 5, 3],
'nota-final' => 4
],
'gabriela' => [
'nota-provas' => [8, 7, 9],
'nota-final' => 8
],
'daniel' => [
'nota-provas' => [2, 1, 3],
'nota-final' => 2
],
'lucia' => [
'nota-provas' => [10, 8, 9],
'nota-final' => 9
]
];
// nota final do aluno joão
echo $notas['joao']['nota-final']; // exibe 5
// Nota da primeira prova do aluno joão
echo $notas['joao']['nota-prova'][0] // exibe 4
A cada nível de array usamos []
com a chave para acessar seus dados.
Considerações finais sobre arrays no PHP
O uso de Arrays no PHP é extremamente flexível, devido a liberdade com que podemos armazenar os dados. É simples de usar, pois a sua sintaxe limpa e direta torna o desenvolvimento mais rápido, pois a linguagem possui diversas funções nativas para manipulação de arrays e além disso é uma estrutura muito otimizada em questão de performance dentro da linguagem PHP.