Exercícios Resolvidos de Arrays em PHP: Teste sua Lógica de Programação

Parabéns por chegar até aqui em nossa Apostila de PHP Progressivo! Você já dominou a teoria sobre a criação de listas, o laço foreach e as dezenas de funções nativas maravilhosas do PHP.

Mas, na programação, teoria sem prática é apenas ilusão. É quebrando a cabeça com erros e montando a lógica linha por linha que o seu cérebro cria as conexões necessárias para você se tornar um Desenvolvedor Web Sênior.

Nesta página, preparamos uma bateria intensiva de exercícios resolvidos sobre Arrays em PHP. Nossa recomendação máxima: leia o enunciado, abra o seu editor de código (ou um testador PHP online), tente resolver sozinho por pelo menos 15 minutos e apenas depois olhe a nossa solução.

🔥 Regra de Ouro: Não copie e cole as respostas! Digite o código. O ato de digitar ajuda a memorizar a sintaxe e evita que você esqueça ponto-e-vírgula (;) ou chaves ({}).

Exercício 1: O Aquecimento (Soma e Média)

Desafio: Crie um script em PHP que guarde as notas de um aluno (7.5, 8.0, 6.5, 9.5) em um array. Em seguida, use o laço foreach para somar todas as notas, calcule a média final e exiba na tela se ele foi Aprovado (média >= 7) ou Reprovado.

<?php
$notas = [7.5, 8.0, 6.5, 9.5];
$soma = 0;

// Percorrendo o array para somar
foreach ($notas as $nota) {
    $soma += $nota; // Equivalente a: $soma = $soma + $nota;
}

// O count() descobre o total de elementos no array (4 notas)
$media = $soma / count($notas);

echo "A nota total foi: $soma <br>";
echo "A média final é: $media <br>";

if ($media >= 7.0) {
    echo "<strong style='color: green'>Aluno APROVADO!</strong>";
} else {
    echo "<strong style='color: red'>Aluno REPROVADO!</strong>";
}

/* DICA SÊNIOR: Nós usamos a lógica pura com foreach para treinar, 
mas no dia a dia, você poderia usar a função nativa do PHP:
$soma = array_sum($notas); 
*/
?>

Exercício 2: Array Associativo (Cadastro de RH)

Desafio: Crie um array associativo que represente um funcionário, contendo as chaves: "nome", "idade", "cargo" e "salario". Depois, percorra esse array imprimindo a chave e o valor de forma amigável na tela. Se a chave for "salario", adicione o símbolo de "R$" antes do valor.

<?php
$funcionario = [
    "nome" => "Mariana Silva",
    "idade" => 28,
    "cargo" => "Desenvolvedora Back-end",
    "salario" => 6500.00
];

echo "<h3>Ficha do Funcionário:</h3>";
echo "<ul>";

foreach ($funcionario as $chave => $valor) {
    // Tratamento especial para o salário
    if ($chave == "salario") {
        // number_format formata o número para o padrão brasileiro de moeda
        $valorFormatado = number_format($valor, 2, ',', '.');
        echo "<li><b>".ucfirst($chave).":</b> R$ $valorFormatado </li>";
    } else {
        echo "<li><b>".ucfirst($chave).":</b> $valor </li>";
    }
}

echo "</ul>";
?>

Quer mais 500 exercícios como esse?

A lógica de programação se constrói com repetição e aumento gradativo de dificuldade. Não fique caçando exercícios picados pela internet.

Mega Pack 7 Apostilas de Programação PDF

Baixe nosso Mega Pack em PDF. Estude no ônibus, sem distrações do celular, com baterias intensivas de exercícios reais do mercado.

Exercício 3: O Filtro (Números Pares e Ímpares)

Desafio Clássico de Lógica: Crie um array automático usando a função range() contendo números de 1 a 20. Percorra esse array e separe-o em dois novos arrays: um contendo apenas os números pares e outro contendo apenas os números ímpares. No final, exiba os dois novos arrays.

<?php
// 1. Criando o array de 1 a 20 automaticamente
$numeros = range(1, 20);

// 2. Inicializando os arrays vazios que vão receber os filtros
$pares = []; // Pode usar array() também
$impares = [];

// 3. A Lógica de Separação
foreach ($numeros as $num) {
    // Operador Módulo (%): pega o resto da divisão. 
    // Se um número dividido por 2 não sobrar nada (resto 0), ele é PAR!
    if ($num % 2 == 0) {
        array_push($pares, $num); // Adiciona na lista de pares
    } else {
        array_push($impares, $num); // Adiciona na lista de ímpares
    }
}

// 4. Exibindo os resultados usando o utilitário print_r
echo "Lista de Pares:<br>";
print_r($pares);

echo "<br><br>Lista de Ímpares:<br>";
print_r($impares);
?>

Exercício 4: O Simulador da Mega-Sena (Sorteios)

Desafio: Escreva um script para gerar um bilhete premiado da Mega-Sena. Ele deve conter 6 números aleatórios entre 1 e 60, sem repetição. Os números devem ser exibidos na tela em ordem crescente.

<?php
// LÓGICA NINJA: Em vez de sortear um por um e verificar se já saiu (difícil),
// Nós criamos o "globo" do bingo inteiro, embaralhamos e tiramos os 6 primeiros!

// 1. Cria as bolinhas de 1 a 60
$globo = range(1, 60);

// 2. Chacoalha e embaralha todas as bolinhas dentro do array
shuffle($globo);

// 3. Retira as 6 primeiras bolinhas do globo embaralhado
$bilhete = [];
for ($i = 0; $i < 6; $i++) {
    // array_pop tira o último elemento do array e nos entrega
    $bolinha_sorteada = array_pop($globo);
    array_push($bilhete, $bolinha_sorteada);
}

// 4. Exigência do cliente: organizar os 6 números do menor para o maior
sort($bilhete);

// 5. Exibe os números separados por um traço usando a função implode()
echo "<h2>Seu bilhete da sorte: </h2>";
echo "<p style='font-size: 24px; letter-spacing: 5px;'>";
echo implode(" - ", $bilhete);
echo "</p>";
?>

Exercício 5: Arrays Multidimensionais (O Carrinho de Compras)

Desafio de Nível Intermediário: Em sistemas reais (como o MercadoLivre ou a Amazon), um carrinho de compras não é uma lista simples, é um "Array dentro de um Array" (Matriz ou Multidimensional). Cada produto possui nome, preço e quantidade. Crie um carrinho com 3 itens, calcule o subtotal de cada produto e o valor total final da compra.

<?php
// Array Multidimensional: Um array grandão contendo 3 arrays associativos
$carrinho = [
    [
        "produto" => "Teclado Mecânico RGB",
        "preco" => 350.00,
        "quantidade" => 1
    ],
    [
        "produto" => "Monitor Gamer 24 pol",
        "preco" => 1200.00,
        "quantidade" => 2
    ],
    [
        "produto" => "Mousepad Extra Grande",
        "preco" => 80.00,
        "quantidade" => 3
    ]
];

$totalCompra = 0;

echo "<h3>Resumo do seu Pedido:</h3>";
echo "<hr>";

foreach ($carrinho as $item) {
    // Acessando os dados do array interno
    $nome = $item["produto"];
    $precoUnitario = $item["preco"];
    $qtd = $item["quantidade"];
    
    // Calcula o subtotal do item (preço x quantidade)
    $subtotal = $precoUnitario * $qtd;
    
    // Adiciona o subtotal ao valor total geral da compra
    $totalCompra += $subtotal;
    
    // Exibe a linha do produto
    echo "{$qtd}x $nome | Unidade: R$ {$precoUnitario} | <b>Subtotal: R$ {$subtotal}</b> <br>";
}

echo "<hr>";
echo "<h4>Valor Total a Pagar: R$ " . number_format($totalCompra, 2, ',', '.') . "</h4>";
?>

Transforme Exercícios em Sistemas Reais! 🚀

Você acabou de ver o coração de uma Loja Virtual funcionando no Exercício 5. Sabe qual é o próximo passo? Aprender a puxar esses produtos direto de um Banco de Dados MySQL de forma segura e profissional. A nossa Apostila Premium te guia do básico até as listagens de bancos reais em passos simples.

📥 Fazer Download da Apostila Completa de PHP

Funções Nativas de Arrays em PHP: O Guia Definitivo e Prático (Referência Completa)

 

Funções de Array no PHP: push, pop, sort, in_array e muito mais!  

Chegamos ao grande *Grand Finale* da nossa jornada teórica sobre Arrays em nosso Curso de PHP Progressivo! Você já sabe criar arrays, sabe usar chaves (Associativos) e sabe como varrê-los usando o laço Foreach.

Mas, no mundo real da programação, nós não ficamos reinventando a roda. O PHP possui uma biblioteca nativa espetacular com dezenas de funções embutidas que fazem todo o trabalho sujo de matemática, busca e ordenação para você em apenas uma linha de código. Hoje, você vai sair daqui como uma verdadeira referência sênior na manipulação de listas.

1. Operadores Lógicos e Matemáticos com Arrays

Você sabia que pode usar sinais matemáticos para comparar e juntar arrays? Sim, o PHP permite avaliar listas inteiras de uma vez só!

  • União ($a + $b): O array $b é anexado ao final do array $a. Atenção: Se houver conflito de chaves (índices repetidos), os elementos do primeiro array ($a) são mantidos e os repetidos de $b são ignorados.
  • Igualdade ($a == $b): Retorna TRUE se $a e $b possuem exatamente os mesmos elementos (mesmos pares chave/valor), não importando a ordem.
  • Identidade ($a === $b): O "Nível Hard" da igualdade. Retorna TRUE apenas se tiverem os mesmos elementos, do mesmo tipo e exatamente na mesma ordem.
  • Desigualdade ($a != $b ou $a <> $b): Retorna TRUE se os arrays forem diferentes em pelo menos um elemento.
  • Não-identidade ($a !== $b): Retorna TRUE caso os elementos não sejam idênticos (tipos diferentes ou ordem diferente).

2. Modificadores de Fila e Pilha (Adicionar / Remover)

Na computação, gerenciar quem entra e quem sai de uma lista é chamado de manipulação de Pilhas (LIFO) e Filas (FIFO). O PHP tem quatro funções clássicas para isso.

Adicionar ao Final: array_push()

Empurra um ou mais elementos para o final do seu array. O tamanho do array aumenta instantaneamente.

<?php
$carros = ["Gol", "Celta"];
array_push($carros, "Civic", "Corolla");
// Resultado: ["Gol", "Celta", "Civic", "Corolla"]
?>

Adicionar ao Início: array_unshift()

Funciona igual ao push, mas empurra os elementos para o começo da lista. Todos os elementos numéricos antigos descem um degrau (o índice 0 vira 1, etc).

<?php
$carros = ["Gol", "Celta"];
array_unshift($carros, "Civic", "Corolla");
// Resultado: ["Civic", "Corolla", "Gol", "Celta"]
?>

Remover o Último: array_pop()

Expulsa o último elemento do array e ainda te entrega esse valor caso você queira salvar numa variável.

<?php
$carros = ["Gol", "Celta", "Civic"];
$ultimo = array_pop($carros);
// $ultimo agora guarda "Civic". O array ficou só com ["Gol", "Celta"]
?>

Remover o Primeiro: array_shift()

Expulsa o primeiro elemento da lista (índice 0). Se for um array numérico, todos os elementos restantes sobem um degrau para tapar o buraco.

Não Decore Código. Domine a Lógica.

Aprender a usar push e pop constrói a base para sistemas de Carrinho de Compras. Baixe nosso material completo para ver esses exemplos aplicados no mundo real.

Mega Pack 7 Apostilas de Programação PDF

3. Os Radares: Buscando Dados em Arrays

Como saber se um usuário já tem um determinado item no inventário dele? Nós usamos as funções de rastreamento do PHP.

Buscar um VALOR: in_array()

Verifica se um determinado dado existe dentro da sacola. Retorna TRUE (Verdadeiro) ou FALSE (Falso).

<?php
$carros = ["Gol", "Celta", "Civic"];
in_array("Civic", $carros); // Retorna TRUE
in_array("Fox", $carros);   // Retorna FALSE
?>

Buscar uma CHAVE: array_key_exists()

Excelente para arrays associativos. Verifica se você registrou uma Key específica.

<?php
$usuario = ['nome' => 'Carlos', 'idade' => 30];
array_key_exists('idade', $usuario); // Retorna TRUE
array_key_exists('telefone', $usuario); // Retorna FALSE
?>

4. Motores de E-commerce: Ordenação de Arrays (Sort)

Sabe aqueles filtros nas lojas virtuais: "Ordenar por mais barato" ou "Ordem alfabética"? É tudo array. E tudo usa as variações do comando sort().

  • sort($array): Organiza em ordem alfabética (A-Z) ou numérica crescente (1 ao 10). Reorganiza os índices do zero!
  • rsort($array): O 'r' é de Reverse. Ordena de trás para frente (Z-A ou do Maior para o Menor).
  • natsort($array): A Ordenação Natural. Um computador normal acha que "foto10.jpg" vem antes de "foto2.jpg" (porque 1 vem antes de 2). O natsort() pensa como um humano e ordena "foto1.jpg, foto2.jpg ... foto10.jpg" corretamente!
⚠️ Dica de Ouro Sênior: O comando sort() destrói as chaves de um array associativo, transformando tudo num array numérico padrão (0, 1, 2). Se você quiser ordenar os valores, mas preservar os nomes das chaves originais, deve usar a função asort() (associative sort).

5. As Joias da Coroa: Funções Premium de Arrays

Casamenteiro de Arrays: array_combine()

Pega dois arrays diferentes (que tenham o mesmo tamanho) e os "gruda", onde o primeiro vira as Chaves, e o segundo vira os Valores de um novo array associativo.

<?php
$tipos = ['popular', 'sedan'];
$modelos = ['Gol', 'Civic'];

$catalogo = array_combine($tipos, $modelos);
// Fica: ['popular' => 'Gol', 'sedan' => 'Civic']
?>

Sorteios e Cassinos: array_rand() e shuffle()

Ideal para criar banners aleatórios num site ou sortear prêmios.

  • array_rand($array, $quantidade): Escolhe e retorna chaves aleatórias do seu array.
  • shuffle($array): Pega o seu array inteiro, chacoalha como um dado de cassino, e embaralha as posições de todos os elementos. O próprio array original é modificado.

Calculadora Embutida: array_sum()

Quer somar o valor total do carrinho de compras do cliente? Não faça um laço enorme. Deixe o PHP somar para você.

<?php
$carrinho = [15.50, 4.00, 20.00];
echo "Total a Pagar: R$ " . array_sum($carrinho); 
// Retorna a soma matemática exata: 39.5
?>

Seja uma Referência na Programação Web 💻

O segredo dos desenvolvedores mais bem pagos não é decorar comandos, é saber montar a lógica usando as peças certas. Falamos aqui de apenas algumas funções. O PHP tem mais de 80 funções nativas SÓ para Arrays! Acelere sua evolução com nossos Guias Premium.

📥 Baixar Nossa Apostila de PHP Agora

Para ver a lista completa de todas as dezenas de funções fantásticas de manipulação, acesse a documentação oficial da linguagem:
Manual Oficial de Arrays PHP >>

Como Usar o Laço Foreach em PHP: O Guia Definitivo para Arrays

Laço Foreach em PHP: Como Percorrer Arrays (Passo a Passo) 

Nas aulas anteriores da nossa Apostila de PHP Progressivo, nós desbravamos o universo dos Arrays. Aprendemos a criar listas numéricas, mapear dados com Arrays Associativos e até a gerar listas automáticas com a função range().

Mas existe um "elefante na sala": de que adianta ter um array gigantesco, cheio de dados importantes de um Banco de Dados, se você não sabe como "ler" esses dados um por um de forma automatizada para mostrar na tela do usuário?

Como se já não bastasse o número de laços convencionais (while, do while e for) existentes na linguagem, os criadores do PHP desenvolveram uma estrutura de repetição especialmente criada para varrer Arrays. Prepare-se para conhecer o seu novo melhor amigo na programação web: o laço foreach.

O que é o Laço Foreach em PHP?

O foreach (que em português significa "para cada") é uma estrutura de controle de repetição exclusiva para interagir com arrays e objetos. Diferente do laço for, você não precisa criar um contador numérico (ex: $i = 0) ou saber o tamanho exato do array. O foreach automaticamente percorre a lista do primeiro ao último elemento, parando sozinho quando os dados acabam.

A beleza do foreach é que ele gera um código limpo (Clean Code) e à prova de falhas (bugs de loop infinito). Vamos ver como ele funciona na prática nos dois cenários mais comuns do mercado.

O Laço foreach para Arrays Numéricos (Simples)

Para ler arrays comuns (indexados por números automáticos), a sintaxe é extremamente descritiva: foreach ($array_original as $item_atual). A leitura literal disso é: "Para cada elemento dentro do meu array, trate-o como uma variável chamada $item_atual".

Vamos pegar o seguinte array de carros populares e exibi-los na tela:

<?php
// 1. Nosso array principal (a sacola com os dados)
$carros = ['Gol', 'Celta', 'Fox', 'Corolla', 'Civic'];

// 2. O laço mágico
foreach ($carros as $car) {
    echo "Carro disponível: $car <br>";
}
?>

O que acontece nos bastidores (Raio-X Sênior):

  1. Na primeira "volta" do loop, o PHP vai no array $carros, pega o índice [0] ("Gol") e joga dentro da variável temporária $car. O comando echo imprime "Gol".
  2. Na segunda volta, o PHP pega o índice [1] ("Celta"), joga em $car, e imprime.
  3. Isso se repete automaticamente até o "Civic". Quando o PHP tenta ir para o próximo e percebe que o array acabou, ele encerra o laço com segurança. Fim da dor de cabeça!

Solidifique sua Lógica de Programação

Se você entende como loops funcionam, você constrói qualquer sistema. Pratique exaustivamente com nosso material oficial.

Mega Pack 7 Apostilas de Programação PDF

Conheça nosso Mega Pack de Apostilas PDF e aprenda no seu ritmo, offline e com exercícios baseados no mercado real.

O Loop foreach para Arrays Associativos (Chave => Valor)

Aqui é onde o foreach mostra seu verdadeiro poder. Lembre-se: os Arrays Associativos não são organizados por números lógicos (0, 1, 2), mas sim por palavras-chave definidas por você (ex: 'popular', 'sedan').

Se as chaves são nomes customizados, não há como usar o loop for tradicional para procurá-las. A sintaxe especial do foreach para resgatar tanto a chave quanto o valor é: foreach ($array as $chave => $valor).

Acompanhe este exemplo corporativo de uma concessionária:

<?php
// Definindo nosso array associativo (Key => Value)
$carros = [
    'popular' => 'Celta',
    'sedan'   => 'Corolla',
    'premium' => 'BMW M3',
    'suv'     => 'HR-V'
];

// O PHP extrai a Chave e o Valor a cada volta do loop
foreach ($carros as $categoria => $modelo) {
    echo "Categoria: <strong>$categoria</strong> | Modelo Sugerido: $modelo <br>";
}
?>

A variável $categoria vai capturar as chaves ('popular', 'sedan'...) e a variável $modelo vai armazenar o dado correspondente àquela chave na volta atual. Você tem o controle absoluto sobre as duas informações!

Conteúdo Avançado: Modificando Valores do Array (Por Referência)

Para você se destacar no mercado, vamos ensinar um "pulo do gato". O comportamento padrão do foreach é apenas ler os dados copiando-os para a variável temporária. Se você alterar a variável temporária dentro do loop, o array original continua intacto.

Mas, e se você precisar varrer um array de preços e aplicar 10% de desconto em todos eles? Para que o foreach modifique o array original de verdade, você deve usar o caractere & (E comercial) antes do valor. Isso é chamado de "Passagem por Referência".

<?php
$precos = [100, 200, 300];

// O "E comercial" (&) conecta $valor diretamente ao array original
foreach ($precos as &$valor) {
    $valor = $valor * 2; // Dobra o preço
}
unset($valor); // Boa prática Sênior: quebra a referência ao fim do laço

// O array original agora está modificado permanentemente!
print_r($precos); // [200, 400, 600]
?>

Simulador Interativo: Veja o Foreach em Ação!

Visualize passo a passo como o PHP itera (varre) um array associativo. Clique no botão "Próxima Volta" para entender o fluxo lógico.

⚙️ Raio-X do Foreach (Passo a Passo)

$usuario = ['nome' => 'Ana', 'idade' => 28, 'cargo' => 'Dev'];

foreach ($usuario as $chave => $valor) {
  echo "$chave = $valor";
}
Volta: 0 / 3
Terminal de Saída:
Aguardando execução...

Você quer fazer Listagens de Banco de Dados? 🗄️

O segredo por trás de toda loja virtual, feed do Facebook ou listagem de posts num blog é um laço FOREACH. O sistema busca no MySQL uma matriz de dados, e o foreach gera automaticamente o HTML (divs e imagens) para cada produto. Domine essa integração estudando com a nossa Apostila Premium!

"Sempre tive dificuldade com os laços for e while. Quando peguei a apostila e entendi como integrar o PHP com HTML usando Foreach, eu finalmente consegui criar meu primeiro sistema de Loja Virtual funcional."
- Lucas G., Desenvolvedor Web.
📥 Baixar Apostila e Aprender Integração MySQL

Como Usar a Função range() em PHP: Gerando Arrays Automáticos (Tutorial Completo)

Função range() em PHP: Como Gerar Arrays de Números e Letras 

Nas aulas anteriores do nosso Curso de PHP Progressivo, você aprendeu a criar arrays manualmente, digitando item por item. Isso é ótimo quando temos uma lista pequena de carros ou clientes. Mas na programação real, o cenário muda rápido.

Muitas vezes, precisamos preencher um array com sequências lógicas. Imagina nas lojas virtuais que você vai criar, que possuem sistemas de paginação com milhares de produtos? Ou um sistema de RH onde você precisa gerar um array de 1 a 1000 para representar os crachás dos funcionários da empresa?

Inicializar esses dados manualmente, digitando $array = [1, 2, 3... 1000];, se torna uma tarefa humanamente impossível, enfadonha e amadora. É exatamente para resolver esse problema que o PHP nos presenteou com a mágica função range().

O que é a função range() em PHP?

A função range() no PHP cria e retorna um array contendo uma sequência progressiva de elementos (números ou letras). Você informa onde a sequência começa, onde ela termina, e o PHP gera a lista inteira na memória instantaneamente.

A sintaxe oficial, segundo a documentação do PHP, exige dois parâmetros obrigatórios e um opcional:

array range( int|float|string $inicio , int|float|string $fim [, int|float $pulo = 1 ] )
  • $inicio: O valor onde o seu array vai começar.
  • $fim: O valor máximo (ou limite) onde o array deve parar.
  • $pulo (step): Opcional. É o "salto" entre um elemento e outro. Se não preenchido, o PHP assume que o salto é de 1 em 1.

Exemplo Prático 1: Criando um Dado Virtual

Vamos criar um array que vai de 1 até 6 para simular as faces de um dado.

<?php
// Cria um array automaticamente com os números 1, 2, 3, 4, 5 e 6
$dado = range(1, 6);

// Usando o print_r() da aula passada para visualizar
echo "<pre>";
print_r($dado);
echo "</pre>";
?>

Pronto! A variável $dado agora é um objeto do tipo array com 6 elementos, e seus índices (como aprendemos) vão de 0 até 5.

Cansado de tutoriais rasos pela internet?

Aprender funções soltas não te faz um programador. O que dá dinheiro é saber unir a lógica do PHP com Bancos de Dados Reais. Acelere sua evolução estruturando seus estudos.

Mega Pack 7 Apostilas de Programação PDF

Conheça nosso Mega Pack de Apostilas. Estude no ônibus, sem distrações e com centenas de exercícios focados no mercado de trabalho!

A Magia do Terceiro Parâmetro: Função range() com Salto (Step)

Aqui as coisas ficam interessantes para quem gosta de lógica pura. Vamos supor que você precise gerar um array com os números ímpares de 1 até 100. Ou seja, você quer a sequência: 1, 3, 5, 7, 9... até o 99.

Fazer isso na mão seria tortura. Mas com o terceiro parâmetro da função range (o famoso step ou pulo), você resolve isso com uma única linha de código elegante.

<?php
// Sintaxe: range(inicio, fim, pulo)

// Cria um array com os números ímpares de 1 a 100 (saltando de 2 em 2)
$impares = range(1, 100, 2);

// BÔNUS SÊNIOR: E se eu quiser contar de trás pra frente?
// A função range é inteligente o suficiente para entender a ordem decrescente!
$contagem_regressiva = range(10, 0); 
// Resultado: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
?>

No caso do salto, primeiro você informa o ponto de partida (1), depois o ponto máximo que ele pode chegar (100) e o salto que ele vai dar como terceiro argumento (2). Simples, limpo e performático.

Função range() com Letras e Strings

Aqui está o diferencial de saber programar. A função range() não funciona apenas com números. Por baixo dos panos, o PHP entende a tabela ASCII, o que significa que ele consegue criar sequências de caracteres alfabéticos!

Imagine que você quer criar um índice de Glossário para um site (de A a Z) onde o usuário clica na letra e filtra as palavras. Veja como é fácil:

<?php
// Para gerar o alfabeto minúsculo inteiro:
$alfa_minusculo = range('a', 'z');

// Para gerar o alfabeto maiúsculo:
$alfa_maiusculo = range('A', 'Z');

// Resultado interno gerado: ['A', 'B', 'C', 'D', 'E' ... 'Z']
?>
⚠️ Cuidado com as Strings Longas: O PHP usa apenas o primeiro caractere de uma string na função range. Se você tentar fazer range('aa', 'zz'), ele vai ignorar o segundo 'a' e o segundo 'z', e processará apenas de 'a' a 'z' normal.

Simulador Interativo: Gere o seu Range!

Brinque com o console virtual abaixo. Defina onde você quer que sua lista comece, onde deve terminar, e qual será o tamanho do pulo. Veja o PHP (simulado) agir instantaneamente.

⚙️ Simulador: range(inicio, fim, pulo)

Array gerado aparecerá aqui...

Seu arsenal de funções nativas precisa crescer! 🚀

O range() é apenas UMA das centenas de funções que o PHP já traz prontas para você poupar tempo e dinheiro. Por que reinventar a roda escrevendo laços imensos quando você pode resolver em 1 linha de código? Acelere o seu domínio com a nossa apostila voltada para o mercado de trabalho real.

"A apostila do Progressivo é como ter um cheat-sheet infinito de PHP do lado da mesa. Sempre que travo, abro o PDF e encontro uma função nativa que resolve meu problema."
- Amanda C., Full-Stack Jr.
📥 Baixar Apostila de PHP Agora

O que Estudar a Seguir?

Você tem em mãos um array totalmente preenchido. O que fazer com ele agora? O próximo passo natural é aprender como percorrer essa lista, seja para gravar os dados em um banco ou mostrá-los na tela do usuário final. Revise e avance:

Arrays Associativos em PHP: Como Criar Listas com Chaves e Valores (Guia Sênior)

Arrays Associativos em PHP: O Guia Completo (Key-Value)  

No tutorial passado de nossa Apostila de PHP Progressivo, nós dominamos os Arrays de Índices Numéricos. Vimos como eles são ótimos para criar listas sequenciais onde cada item ganha um número automático (0, 1, 2, 3...).

Mas, na vida real corporativa, as coisas não são apenas sequências de números. As informações precisam de significado. É aqui que entram os queridinhos do mercado de trabalho web: os poderosos Arrays Associativos.

O que é um Array Associativo em PHP?

Um Array Associativo em PHP é uma estrutura de dados onde os índices não são números automáticos, mas sim nomes personalizados chamados de Chaves (Keys). Ele funciona mapeando uma Chave em texto para um Valor específico (sistema Key-Value), tornando o código muito mais legível e fácil de dar manutenção.

Para entender o motivo de eles existirem, imagine o seguinte problema:

Você precisa salvar os dados de um cliente de um E-commerce (Nome, Email, Idade e Status da Conta). Se você usar um array numérico, ele ficaria assim:

$cliente = ['Carlos', 'carlos@email.com', 32, true];

Agora me responda: se você for dar manutenção nesse código daqui a 6 meses, como você vai lembrar que o índice $cliente[2] é a idade? E se alguém adicionar o telefone no meio da lista e empurrar a idade para o índice 3? Seu sistema inteiro vai quebrar!

Trabalhar adivinhando números é decorativo, propenso a falhas e um pesadelo para o seu time de programadores. É por isso que nós associamos nomes (chaves) aos valores.

Como Criar Arrays Associativos na Prática

A sintaxe para criar essa maravilha é muito simples. Nós usamos o operador de seta dupla => (sinal de igual e maior que) para dizer ao PHP: "A chave à esquerda guarda o valor da direita".

<?php
// Declarando o array associativo (Sintaxe Moderna)
$cliente = [
    'nome'   => 'Carlos Silva',
    'email'  => 'carlos@email.com',
    'idade'  => 32,
    'status' => 'Ativo'
];

// Acessando os dados pela CHAVE (muito mais óbvio, não?)
echo "Nome do Cliente: " . $cliente['nome'];
echo "<br>Idade: " . $cliente['idade'] . " anos";
?>
⚠️ Atenção Sênior: Duas regras de ouro! Primeiro: as chaves (keys) devem ser preferencialmente Strings (textos entre aspas) ou inteiros. Segundo: As chaves devem ser únicas. Se você declarar 'nome' => 'Carlos' e logo abaixo declarar 'nome' => 'Ana' no mesmo array, o PHP vai sobrescrever o Carlos pela Ana sem te avisar.

A Base Diferencia o Júnior do Sênior

Todo sistema que consome APIs RESTful (como pagamentos e redes sociais) recebe dados na forma de Arrays Associativos. Não dá para "pular" essa matéria.

Mega Pack 7 Apostilas de Programação PDF

Se você gosta da nossa didática, leve o nosso material oficial para estudar offline, sem distrações e com dezenas de exercícios resolvidos.

Exemplo Corporativo: A Concessionária de Carros

Vamos supor que você foi contratado para criar o painel de uma concessionária de veículos de luxo. Você precisa criar um array chamado $carros, mas não quer indexá-lo por números (0, 1, 2...). Você quer associar a categoria do carro ao modelo.

Em vez de números, vamos dar nomes estratégicos para as nossas keys e ir adicionando as informações dinamicamente no array:

<?php
$carros = []; // Crio o array vazio

// Adicionando elementos informando explicitamente a Chave (Key)
$carros['popular'] = 'Celta';
$carros['sedan']   = 'Corolla';
$carros['premium'] = 'BMW M3';
$carros['suv']     = 'HR-V';

// Quer se referir ao carro premium da concessionária? Simples:
echo "O carro em destaque da semana é a " . $carros['premium'];
?>

Pronto. Qualquer programador que ler $carros['premium'] vai entender exatamente do que se trata sem precisar perguntar para você. Esse é o conceito de um código auto-explicativo (Clean Code).

Como Imprimir (Debugar) Arrays Associativos

Quando a aplicação cresce, você pode receber um array gigante do Banco de Dados e não saber quais são as chaves disponíveis dentro dele.

Para inspecionar a alma do seu array, nós continuamos usando a função especial print_r() que aprendemos na aula passada.

<?php
echo "<pre>"; // Formata o texto no navegador
print_r($carros);
echo "</pre>";
?>

O resultado que aparecerá na sua tela mostra a perfeição do relacionamento Chave => Valor. Os nomes da esquerda entre colchetes são as Keys, e os dados da direita são os Values:

Array
(
    [popular] => Celta
    [sedan] => Corolla
    [premium] => BMW M3
    [suv] => HR-V
)
💡 Dica de Mestre: Além do print_r, os programadores seniores costumam usar a função var_dump(). Ela imprime não apenas a chave e o valor, mas também diz o tipo do dado e o tamanho dele (ex: string(6) "Corolla"). Excelente para achar bugs cabulosos.

Simulador Interativo: Crie seu próprio Array Associativo!

Brinque com o conceito de Key-Value ao vivo. Defina uma chave, defina seu valor, e veja como o servidor amarra essas duas informações dentro da estrutura do array.

⚙️ Montador de Array (Key > Value)

$meuArray = Array
(
)

Domine Banco de Dados com Arrays Associativos 🎲

Você sabia que quando o PHP puxa informações do MySQL, ele converte cada linha da tabela do banco de dados num Array Associativo? Se você não tem domínio completo de manipulação de listas, você não conseguirá criar sistemas de login ou lojas virtuais. Aprofunde-se com nossa apostila Premium!

"A didática é absurda de boa. Eu não conseguia entender como tirar o dado do MySQL e colocar na tela usando HTML. Depois do capítulo de Arrays Associativos da apostila, parece que a mente expandiu!"
- Thiago P., Web Developer.
📥 Baixar Apostila PHP PDF (Com Gabarito)

O que Estudar a Seguir? (Consolide seu Conhecimento)

Agora que você sabe acessar dados por nomes (chaves), o próximo passo natural é aprender a como percorrer (varrer) esses arrays usando estruturas de repetição otimizadas. Recomendamos a leitura destes tutoriais essenciais:

  • Como usar o Laço Foreach com Arrays Associativos em PHP
  • Matrizes: Arrays Multidimensionais (Um array dentro do outro)
  • Manipulação de Strings no PHP (Essencial para Chaves)

Como Criar, Acessar e Imprimir Arrays em PHP (Guia com print_r)

Como Criar e Acessar Arrays em PHP (Sintaxe e print_r) 

No tutorial passado entendemos a teoria de que listas salvam vidas. Hoje, vamos colocar a mão no código! Neste tutorial prático do nosso Curso de PHP Progressivo, você vai aprender definitivamente como criar seus próprios arrays, a maneira correta de acessar seus elementos internos e, o mais importante, como debugar e exibir (printar) um array inteiro na tela.

Como Criar um Array em PHP

Para criar um array em PHP, você pode usar a função nativa array() ou a sintaxe curta de colchetes [] (recomendada nas versões modernas). Os elementos são separados por vírgula. Exemplo: $carros = ['gol', 'celta', 'fox'];.

A primeira coisa que vamos dominar é o array numericamente indexado. Ele é o formato mais comum e padrão na grande maioria das linguagens de programação.

Existem duas maneiras de inicializar um array no PHP:

  1. O Jeito Clássico: Usando a palavra-chave array().
  2. O Jeito Moderno (Sintaxe Curta): Usando apenas colchetes []. O mercado corporativo prefere muito mais essa versão hoje em dia porque deixa o código mais limpo.
<?php
// 1. Criando um Array com a função array()
$carros_antigos = array('fusca', 'kombi', 'opala');

// 2. Criando um Array com a sintaxe curta (A mais usada hoje)
$carros = ['gol', 'celta', 'fox', 'corolla', 'civic'];

// 3. Adicionando elementos um a um (Array Dinâmico)
$meus_carros = []; // Crio um array vazio primeiro
$meus_carros[] = 'gol';     // Adiciona na primeira posição vazia
$meus_carros[] = 'celta';   // Adiciona na próxima posição
$meus_carros[] = 'fox';
?>

Note que, no terceiro exemplo, colocamos um par de colchetes vazios após o nome da variável: $meus_carros[]. Isso diz ao PHP: "Pegue este valor e jogue no final da lista". Em termos técnicos, chamamos isso de dar um Push no array.

Aprender sintaxe picada na internet atrasa sua evolução.

Se você quer dominar back-end, front-end e banco de dados sem depender de internet, monte sua biblioteca de estudos com o nosso acervo completo.

Apostilas Mega Pack Projeto Progressivo

Domine o código lendo no ônibus, metrô ou intervalo da faculdade. Clique na imagem e conheça o Mega Pack de Apostilas PDF!

Como Acessar os Elementos de um Array

Para ler uma variável simples, basta chamá-la. Mas com o array, precisamos dizer qual gaveta queremos abrir. Nós fazemos isso usando o Índice do array.

Para acessar um elemento, escrevemos o nome da variável seguido de colchetes com o número da posição dentro: $carros[0].

💡 A Regra de Ouro do Programador: A contagem sempre começa do 0 (zero). Nunca do 1. Isso acontece porque, na arquitetura da memória, o índice representa o deslocamento (offset) a partir do início da lista. O primeiro item tem deslocamento zero.

Sendo assim, se temos o nosso array de 5 carros, o mapeamento é este:

  • Elemento 0 ➔ 'gol'
  • Elemento 1 ➔ 'celta'
  • Elemento 2 ➔ 'fox'
  • Elemento 3 ➔ 'corolla'
  • Elemento 4 ➔ 'civic'
<?php
$carros = ['gol', 'celta', 'fox', 'corolla', 'civic'];

// Exibindo elementos individuais usando o ECHO normal
echo "Meu primeiro carro foi um " . $carros[0] . "<br>";
echo "Meu sonho de consumo é o " . $carros[4];
?>

Como Imprimir um Array Inteiro: O Poder do print_r()

Imagine que você precisa verificar tudo o que está dentro de um array que veio de um Banco de Dados.

Se você tentar dar um simples echo $carros;, o PHP vai cuspir um erro clássico na sua tela: Warning: Array to string conversion. Isso acontece porque o `echo` só sabe imprimir textos simples, não listas complexas.

Para imprimir um array de maneira que você (o programador) consiga ler e entender toda a estrutura, usamos uma função especial da documentação oficial do PHP chamada print_r().

<?php
$carros = ['gol', 'celta', 'fox', 'corolla', 'civic'];

// A forma crua:
print_r($carros);

// A DICA SÊNIOR: Use a tag <pre> do HTML para formatar lindamente!
echo "<pre>";
print_r($carros);
echo "</pre>";
?>

O resultado na sua tela será uma estrutura perfeitamente desenhada, mostrando exatamente qual string está dentro de qual índice numérico:

Array
(
    [0] => gol
    [1] => celta
    [2] => fox
    [3] => corolla
    [4] => civic
)

Exercício Sênior: Compre a sua BMW!

Você foi contratado como Desenvolvedor Web Full-Stack e acabou de receber seu primeiro pagamento em dólar. Com o salário, você vai lá e compra uma BMW.

A Missão: Adicione dinamicamente a string "BMW" ao final do nosso array de carros e, em seguida, imprima uma frase exibindo sua nova aquisição.

⚠️ Tente resolver sozinho antes de olhar a resposta abaixo! Programação se aprende digitando e errando.
<?php
// Resposta do Exercício:

// O PHP é inteligente: ao usar colchetes vazios, ele descobre 
// que o último índice era 4 e coloca a BMW automaticamente no índice 5.
$carros[] = 'BMW';

echo "Fui promovido! Agora eu tenho uma " . $carros[5] . " na garagem!";
?>

Quer mais exercícios reais com gabarito? 💻

Neste artigo você aprendeu o básico de Arrays numéricos. Mas e os Arrays Associativos e Multidimensionais? Eles são obrigatórios para quem quer trabalhar com Banco de Dados. Acelere seu aprendizado com nossa Apostila Completa: teoria brutal, exemplos práticos, zero anúncios e estudo 100% offline.

"Eu pulava de vídeo em vídeo no YouTube e minha cabeça ficava uma bagunça. A estrutura lógica dessa apostila organizou tudo, passei numa vaga júnior no mesmo ano!"
- Marcos R., Desenvolvedor Web.
📥 Baixar Apostila PHP com Gabaritos

Simulador: Como o print_r enxerga um Array?

Interaja com o console virtual abaixo. Adicione itens e veja como a estrutura [índice] => valor é montada dinamicamente pelo servidor, exatamente como o comando print_r() faria no seu terminal.

// Saída do print_r($array);
Array
(
)

O que Estudar a Seguir? (Silo de Conteúdo)

Se você entendeu como criar e acessar os índices numéricos, está na hora de subir o nível. Confira nossas aulas relacionadas para continuar crescendo: