PHP Arrays · 14 min read · Nov 18, 2025
Guia Detalhado Sobre Arrays Em PHP
Guia Detalhado Sobre Arrays Em PHP
Bom Dia!
Aqui está mais um artigo da Série Artigos Rápidos de PHP. Hoje vamos discutir ARRAYS. Nós vamos aprender sua sintaxe, seus diferentes tipos, as diferentes funções de array embutidas que ajudam a realizar diferentes tarefas relacionadas a arrays rapidamente e diferentes exemplos práticos explicando o uso de arrays em PHP.
Ao final deste artigo, você deve ser capaz de:
- Definir Arrays
- Usar diferentes tipos de Arrays
- Usar diferentes funções embutidas relacionadas a Arrays, por exemplo, list(), each(), var_dump, print_r, var_export()
- Escrever código PHP básico e complexo usando Arrays.
- Trabalhar com arrays multidimensionais
- Entender o loop Foreach com a ajuda de diferentes exemplos
Mas antes de discutirmos arrays, deixe-me contar uma história muito interessante.
Eu tenho uma loja de DVDs perto do meu escritório que mantém uma coleção muito boa de filmes em inglês. Você pode encontrar filmes em quase todos os gêneros, por exemplo, filmes de ação, filmes de terror, filmes românticos (hhhhh - ‘respiração profunda’), dramas, peças de teatro, filmes religiosos e assim por diante….
O proprietário da loja não é uma pessoa muito educada, mas ainda assim ele consegue gerenciar mais de 20.000 DVDs muito facilmente e pode pegar o filme assim que você disser seu nome… hmm, a questão é como ele faz isso?
Bem, eu analisei sua estratégia e deixe-me revelar este grande segredo para organizar um monte de itens com um método especial para lidar com eles facilmente.
Ele categorizou todos os DVDs em diferentes gêneros, como discutimos acima, e também deu IDs / códigos / números especiais para diferentes prateleiras em sua loja. Ele mantém os filmes relacionados nas mesmas prateleiras. Cada prateleira é rotulada com o nome da categoria, por exemplo, Filmes Românticos, Filmes de Terror, etc. Cada DVD tem um ID único que pode ser usado para rastrear esse DVD.
Quando um cliente pede um filme, digamos Double Team, ele rapidamente se move para a prateleira rotulada como Filmes de Ação, depois para a FILEIRA rotulada como ‘D’, que significa nomes de filmes começando com ‘D’ e então rapidamente chega à sequência de ‘D’ seguida de ‘O’ e chega ao filme DOUBLE TEAM. E ele memoriza os IDs dos DVDs famosos, então quando você pergunta a ele, ele dirá para você pegar o DVD # xxxx da prateleira rotulada por ESTE NOME e você pode pegá-lo diretamente de lá.
E tudo isso é feito tão rapidamente que parece mágica conseguir um DVD específico de uma enorme coleção tão rapidamente. Então, se você algum dia começar a administrar uma loja de DVDs, faça o seguinte para ORGANIZAR SEUS DVDs:
a) Mantenha os DVDs semelhantes na mesma prateleira.
b) Rotule cada Categoria pelo seu nome.
c) Rotule as FILEIRAS de DVDs.
d) Atribua IDs a todos os DVDs.
Vamos absorver a moral desta história e voltar ao mundo dos computadores.
Na programação, às vezes você tem que lidar com diferentes valores relacionados que estão agrupados de várias maneiras. Por exemplo, Nomes dos Cinco Melhores Estudantes, Modelos de Carros Porsche, Variáveis Enviadas de um Formulário e assim por diante. Em tais condições, você precisa organizar seu código e lógica para lidar com tipos semelhantes de dados de forma eficiente e rápida. Para esse propósito, você pode usar a lógica do vendedor de DVDs:
- Organizando Dados em diferentes categorias agrupadas.
- Rotulando as FILEIRAS.
- Atribuindo IDs Únicos a cada valor de dado.
Podem existir diferentes técnicas para fazer isso e uma delas são os ARRAYS.
Definição Bruta de Arrays: Uma caixa que ajuda você a manter os dados semelhantes / dados de mesmo interesse juntos para melhor organização e processamento.
Definição Adequada de Array:
“Coleção de diferentes variáveis sob o mesmo rótulo para manter os valores organizados e facilmente acessíveis para processamento.”
Sim, é minha própria definição de arrays e eu mantenho o direito de definir qualquer coisa com minhas próprias palavras, desde que o conceito central esteja correto e você possa entender do que estou falando.
Embora alguns também definam arrays como “é um tipo de variável que contém mais variáveis em si mesma”.
Por favor, lembre-se de que o PHP lida com variáveis normais e arrays de uma maneira ligeiramente diferente.
Sintaxe de Array:
$arrayName = array ("value1?","value2?","value3?");Usamos o sinal $ para dar um nome a um array, como fazemos para variáveis, depois disso um sinal de igual e então a palavra-chave ‘array’ que informa ao parser que estamos trabalhando com arrays e então diferentes valores dentro de parênteses e cada valor entre aspas duplas separado por vírgula.
Exemplo de PHP para definir e imprimir arrays:
$Top3Sites = array (“fastcreators.com”,”howtoforge.com”,”scriptsbible.com”);
print_r($Top3Sites);
?>
A saída do programa acima será:
Array
(
[0] => fastcreators.com
[1] => howtoforge.com
[2] => scriptsbible.com
)
Por favor, note que usamos print_r para imprimir um array porque você não pode imprimir um array com a função echo ou print (ambas são usadas para exibir saída), embora você possa usar echo ou print para exibir itens únicos do array, por exemplo:
echo $Top3Sites[0]; //fastcreators.comLembre-se de que o número do índice começa em 0 e não em 1.
Cada valor do array recebe um ID único que é conhecido como NÚMERO DE ÍNDICE.
A outra maneira poderia ser definir três variáveis diferentes e então atribuir valores a elas e usar diferentes instruções para exibi-las. Isso poderia ser aceitável no caso de três valores para fins de argumentação, embora seja rejeitado quando lidamos com cinquenta ou cem valores.
Portanto, os arrays são mais organizados e podem servir para coletar diferentes valores sob o mesmo rótulo para processamento rápido.
No exemplo acima, definimos e atribuímos valores ao array em um único passo, embora você também possa fazê-lo da seguinte forma:
$students = array(); //apenas define um array
//atribuindo valores $students[0] = “Haroon”;
$students[1] = “Celine”;
$students[3] = “Jennifer”;
$students[4] = “Bobby”;
?>Tipos de Arrays:
Existem três tipos diferentes de arrays em PHP:
a) Array Numérico: Um array com uma chave ID numérica.
b) Array Associativo: Um array onde cada chave ID está associada a um valor.
c) Array Multidimensional: Um array contendo um ou mais arrays.
Agora vamos discutir diferentes tipos de arrays em detalhes.
Arrays Numéricos: Arrays numéricos usam inteiros / números como seu número de índice para identificar cada item do array. O exemplo que discutimos acima são arrays numéricos, pois têm valores inteiros como números de índice para cada item.
$colours = array(“white”,”black”,”blue”);
print_r($colours);/*
saída será
Array
(
[0] => white
[1] => black
[2] => blue
)
*/
?>
Na saída acima, você pode ver que os números de índice para branco, preto e azul são 0, 1, 2, respectivamente, que são valores numéricos e, portanto, chamamos esses arrays de arrays numéricos.
Arrays Associativos:
Às vezes, é melhor usar o nome do índice em vez do número do índice, por exemplo, se você quiser salvar os nomes e números de três estudantes, sua melhor opção será usar o nome de cada estudante como valor de índice para o array e seus números como os valores, veja o exemplo abaixo,
$students[‘Anna’] = 90;
$students[‘Maria’] = 60;
$students[‘Jennifer’] = 40;
?>
Quando você envia um formulário usando o método POST ou GET, você obtém um array associativo semelhante na página de recebimento que contém o nome de cada campo do formulário como índice do array e seu valor como valor do índice. Tente fazer um formulário HTML com alguns campos e postá-lo e na página de recebimento imprima os arrays globais como
print_r($_POST);
print_r($_GET);
e você verá o array associativo.
Arrays Associativos são mais fáceis de lidar e processar informações, especialmente ao lidar com envios de formulários complexos e valores dinâmicos de banco de dados, etc.
Arrays Multidimensionais:
Um array multidimensional pode conter arrays dentro de si e os sub-arrays contêm mais arrays dentro deles.
Vamos passar para um exemplo do mundo real para entender o conceito de arrays multidimensionais:
David tem dois filhos, Richie e Mason. Richie tem duas filhas, Sue e Natasha, enquanto Mason tem três filhas, Nichole, Salma e Amber.
Agora a árvore genealógica da família é a seguinte:

Se quisermos exibir a árvore genealógica de David com um array multidimensional em PHP, podemos definir um array como abaixo:
$david = array
(
“richie”=>array
(
“Sue”,
“Natasha”
),
“Mason”=>array
(
“Nichole”,
“Salma”,
“Amber”
)
);É assim que você pode usar arrays multidimensionais para organizar dados. Tente enviar um array de campos de formulário e depois imprimir o array global para verificar a saída, você obterá o array global como um array multidimensional que conterá mais sub-arrays.
LOOP FOREACH: Se você se lembra do meu último artigo sobre “Loops Em PHP”, eu deixei o LOOP FOREACH para ser discutido mais tarde e agora chegou a hora de discutí-lo.
O loop foreach é usado para arrays para pegar cada próximo valor do array e realizar qualquer ação necessária sobre ele.
A sintaxe básica de um loop foreach é como abaixo:
Sintaxe FOREACH:
foreach ( $arrayname as $temporaryVarName ) { // corpo do loop foreach
//$temporaryVarName contém os valores do array e
// em cada execução do loop, ele pegará o próximo valor disponível do array
}
Vamos escrever um programa usando um loop foreach para entender seu funcionamento em profundidade:
$students = array(); // define array students
//atribuindo valores
$students[0] = “david”;
$students[1] = “kevin”;
$students[2] = “julie”;
$students[3] = “nayyar”;
/
agora usaremos o loop foreach para exibir todos os nomes dos estudantes, ou seja, os valores do array de uma só vez /
foreach ( $students as $std_name ) {
echo $std_name . “\n”;
}
?>
No código acima, $std_name funciona como uma variável temporária para obter cada valor do array. A cada execução do loop, o próximo valor disponível do array sobrescreve o valor existente de $std_name e então $std_name aponta para o valor atual obtido. Portanto, é como percorrer seus valores de array um por um.
A saída do código acima será:
david
kevin
julie
nayyar
pois estamos usando \n (quebra de linha) para exibir cada nome na próxima linha.
O loop foreach termina quando não há mais valor disponível, ou seja, quando chega ao último valor do array, que é NAYYAR no nosso caso.
Você pode interromper o loop a qualquer momento usando a instrução break, se necessário (discutimos a instrução break na DECISÃO DE TOMADA USANDO SWITCH EM PHP).
Por exemplo, se você quiser interromper o loop se o nome for julie, então você pode incluir uma instrução IF no código acima como abaixo:
foreach ( $students as $std_name ) {
if($std_name == “julie”) break;
echo $std_name . “\n”;
}
?>
Temos algumas outras funções muito úteis que podem trabalhar com arrays para fornecer o processamento rápido de arrays para fornecer resultados eficientes. Algumas delas são discutidas abaixo:
Funções Importantes de Array:
1) Salvar a saída da função print_r: já usamos anteriormente print_r para exibir os valores do array, embora possamos adicionar um argumento extra a print_r e salvar sua saída em uma variável, por exemplo:
$myarray = array(“Apples”, “Oranges”, “Pears”);
$output = print_r($myarray, true);
print $output;
?>
O print_r exibirá o array em si se você não usar TRUE - o segundo argumento, no entanto, armazenará sua saída na variável se o TRUE for fornecido.
2) Como encontrar o tamanho de um Array? O tamanho de um array significa quantos valores um array contém… se você quiser encontrar o número de valores de um array, pode usar a função COUNT da seguinte forma:
$myarray = array(“Apples”, “Oranges”, “Pears”);
$size = count($myarray);
print $size; // 3
?>
O programa acima exibirá 3 porque temos três elementos no array.
3) Função var_dump:
Há uma função semelhante ao print_r(), que é var_dump(). Ela faz praticamente a mesma coisa, mas
a) imprime tamanhos de variáveis,
b) não imprime dados não públicos em objetos, e
c) não tem a opção de passar um segundo parâmetro para retornar sua saída.
Por exemplo, alterar o primeiro script para usar var_dump() em vez de print_r() daria a seguinte saída:
array(3) {
[0]=>
string(6) “Apples”
[1]=>
string(7) “Oranges”
[2]=>
string(5) “Pears”
}
Nela, você pode ver que var_dump() nos disse que o array tem três valores e também imprime os comprimentos de cada uma das strings. Para fins de ensino, var_dump() é melhor, pois mostra os tamanhos das variáveis, no entanto, você provavelmente desejará usar print_r() em seu próprio trabalho.
4) Função var_export:
Além disso, existe a função var_export(), que é semelhante a ambas, var_dump() e print_r(). A principal diferença com var_export(), no entanto, é que ela imprime informações da variável em um estilo que pode ser usado como código PHP. Por exemplo, se tivéssemos usado var_export() em vez de print_r() no script de teste, teria produzido o seguinte:
array (
0 => ‘Apples’,
1 => ‘Oranges’,
2 => ‘Pears’,
)
Note que há uma vírgula extra após o último elemento, no entanto, isso é ignorado pelo PHP e você pode copiar e colar essas informações diretamente em seus próprios scripts, assim:
$foo = array (
0 => ‘Apples’,
1 => ‘Oranges’,
2 => ‘Pears’,
);
?>
5) Função array_shift:
A função array_shift remove o primeiro elemento de um array do array e o armazena na variável receptora.
Por exemplo, se eu quiser remover Apples do array usado nos programas anteriores e armazená-lo em uma variável diferente, então posso escrever um programa como abaixo:
$myarray = array(“Apples”, “Oranges”, “Pears”);
$fruit = array_shift($myarray);
echo $fruit; // Apples
print_r($myarray); // Oranges e Pears serão exibidos sem Apples
?>
É uma função muito útil se você tiver um array multidimensional enviado de um formulário e quiser buscar o sub-array do array principal. Mas lembre-se de que, ao buscar um sub-array do array principal usando array_shift, as variáveis receptores ($fruit no anterior) não serão uma variável normal, mas um array.
Eu também sugeriria que você estudasse três outras funções úteis relacionadas ao array_shift no Manual Oficial do PHP em
array_unshift
array_pop
array_push
O PHP oferece uma lista muito longa de diferentes funções úteis de array que você pode encontrar no MANUAL OFICIAL DO PHP.
Uma coisa que quero mencionar aqui é que o loop foreach não é a única maneira de processar arrays - você pode fazê-lo usando outros loops, por exemplo, LOOP FOR ou funções list() e each().
Para processar um array, você precisará encontrar o número total de valores no array, ou seja, o tamanho do array como abaixo:
for ($i = 0; $i < count($array); ++$i) {
print $array[$i];
}
?>
Isso funcionará bem para arrays numéricos que têm valores inteiros como números de índice, mas isso não se aplica a arrays associativos.
Processar Arrays com a função LIST():
O PHP oferece a função LIST() que pode ser usada para percorrer os valores do array de forma fácil e rápida como abaixo:
while (list($var, $val) = each($array)) {
print “$var é $val\n”;
}
?>
List() é uma função que faz o oposto de array() - ela pega um array e o converte em variáveis individuais. Each() pega um array como seu parâmetro e retorna a chave e o valor atuais nesse array antes de avançar o cursor do array. “Cursor do array” é o termo técnico para o elemento de um array que está sendo lido atualmente. Todos os arrays têm um cursor, e você pode movê-lo livremente - ele é usado no loop while acima, onde precisamos iterar através de um array. Para começar, each() retornará o primeiro elemento, depois o segundo elemento, depois o terceiro e assim por diante, até que encontre que não há mais elementos, caso em que retornará falso e encerrará o loop.
O significado daquela primeira linha é “obter o elemento atual no array e atribuir sua chave a $var e seu valor a $val, então avançar o cursor do array”.
Obter tanto o índice quanto o valor do elemento do array: Se você quiser ler o nome do índice, bem como seu valor para cada elemento do array, então você pode usar o loop foreach da seguinte forma:
foreach ($array as $key => $val) {
print “$key = $val\n”;
}
?>
É muito útil quando você lida com arrays associativos.
Arrays são um tópico muito profundo e há muito mais a discutir e até posso facilmente escrever um livro completo apenas sobre arrays. Mas o objetivo deste artigo é dar a você uma compreensão muito sólida de arrays e diferentes métodos para armazenar e processar informações em arrays. No entanto, se você tiver alguma pergunta específica sobre arrays, fique à vontade para me enviar um e-mail ou comentar sobre este artigo.
É um artigo longo, então pode haver alguns erros de digitação; se você encontrar algum, por favor, me avise para que eu possa corrigir. Até nos encontrarmos novamente, continue praticando e cuide-se…
- Haroon Ahmad
Outros Artigos Desta Série:
TUTORIAL RÁPIDO DE PHP (Parte 1)
Como Instalar PHP no Windows (Tutorial Rápido de PHP Parte 2)
Como Instalar PHP no Linux
Como Instalar Apache no Windows
Instaladores Fáceis para Instalar PHP, MySQL, Apache no Windows
Noções Básicas de Programação em PHP
Operadores em PHP
Tomada de Decisão usando IF-ELSE em php
Tomada de Decisão usando a Declaração Switch em PHP
Loops Em PHP
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.