Mostrando postagens com marcador Funções Nativas. Mostrar todas as postagens
Mostrando postagens com marcador Funções Nativas. Mostrar todas as postagens

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

Como Achar o Maior Número, Soma e Média em PHP (Exercícios Resolvidos)

🚀 O que você vai aprender hoje:

Como encontrar o maior número, a soma e a média em PHP? A lógica consiste em assumir que o primeiro número é o "maior" e compará-lo um a um com os demais. Para a soma, acumulamos os valores e, para a média, dividimos o total pela quantidade de itens.

  • Algoritmo clássico de comparação (If/Else).
  • Cálculo de Média Aritmética no Back-end.
  • Bônus Sênior: Como resolver o mesmo problema em 1 linha usando Arrays e funções modernas.

Fala, dev! Chegou a hora de afiar a lógica de programação. Vamos resolver juntos as questões 07 e 08 da nossa famosa lista de exercícios de laços em PHP.

Desafio 07: Faça um programa que leia 5 números e informe o maior número.

Desafio 08: Faça um programa que leia 5 números e informe a soma e a média dos números.

A Lógica Clássica (Passo a Passo para Iniciantes)

Para descobrirmos qual é o maior número de uma lista sem usar funções prontas, nós usamos uma técnica de "Rei da Colina". Funciona assim:

  1. Nós pegamos o primeiro número e dizemos: "Você é o maior número (o Rei) provisoriamente" ($maior = $n1;).
  2. Depois, olhamos para o segundo número. Ele é maior que o nosso "Rei"? Se for, ele toma a coroa ($maior = $n2;).
  3. Repetimos isso até o quinto número. Quem sobrar na variável $maior no final, é o vencedor absoluto.

Para a Soma e a Média, a matemática é simples e direta: somamos todos e dividimos por 5.

O Código: Resolvendo na Força Bruta

Abaixo está o script completo. Note que adicionamos o operador ?? (Coalescência Nula) para evitar erros caso o usuário acesse a página sem enviar o formulário.


<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <title>Maior, Soma e Média em PHP</title>
</head>
<body>

<h3>Analisador de Números</h3>
<form action="" method="get">
    Número 1: <input type="number" step="any" name="n1" required><br><br>
    Número 2: <input type="number" step="any" name="n2" required><br><br>
    Número 3: <input type="number" step="any" name="n3" required><br><br>
    Número 4: <input type="number" step="any" name="n4" required><br><br>
    Número 5: <input type="number" step="any" name="n5" required><br><br>
    <input type="submit" value="Analisar Dados">
</form>
<hr>

<?php
// Só processa se o formulário for enviado
if (isset($_GET['n1'])) {
    
    // Captura os dados com segurança
    $n1 = (float) $_GET['n1'];
    $n2 = (float) $_GET['n2'];
    $n3 = (float) $_GET['n3'];
    $n4 = (float) $_GET['n4'];
    $n5 = (float) $_GET['n5'];

    // 1. Encontrando o Maior
    $maior = $n1;
    if($n2 > $maior) $maior = $n2;
    if($n3 > $maior) $maior = $n3;
    if($n4 > $maior) $maior = $n4;
    if($n5 > $maior) $maior = $n5;
    
    echo "<strong>O maior número é:</strong> {$maior} <br>";

    // 2. Calculando a Soma
    $soma = $n1 + $n2 + $n3 + $n4 + $n5;
    echo "<strong>A soma total é:</strong> {$soma} <br>";

    // 3. Calculando a Média
    $media = $soma / 5;
    echo "<strong>A média aritmética é:</strong> {$media} <br>";
}
?>

</body>
</html>

Chega de escrever código repetitivo! ⚡

A lógica bruta ensina, mas o mercado exige produtividade. Se você quer dominar as melhores práticas, atalhos profissionais e se tornar um Desenvolvedor Full-Stack respeitado, conheça o nosso Mega Pack com 7 Apostilas.

Inclui: PHP, JavaScript, Python, Java, C, C++ e HTML/CSS.

Quero Dominar Todas as Linguagens 🚀

O Padrão 2026: Resolvendo com Arrays e Funções Nativas

O código acima funciona perfeitamente e é excelente para você treinar a sua lógica manual. Mas, no mundo real corporativo, se um programador Sênior ver você declarando 5 variáveis e fazendo 4 ifs seguidos, ele vai mandar você refatorar.

O PHP possui funções nativas poderosas. Veja como resolveríamos o mesmo problema agrupando os números em um ARRAYS EM PHP:


<?php
// Cria um Array (Lista) com os números recebidos
$numeros = [$n1, $n2, $n3, $n4, $n5];

// max() encontra o maior valor do Array automaticamente
$maior = max($numeros); 

// array_sum() soma todos os itens da lista
$soma = array_sum($numeros); 

// count() conta quantos itens existem, garantindo a média correta
$media = $soma / count($numeros); 

echo "Maior: {$maior} | Soma: {$soma} | Média: {$media}";
?>

Percebeu a diferença? O código ficou muito menor, mais limpo e infinitamente mais fácil de manter. Se amanhã o cliente pedir para analisar 100 números em vez de 5, o segundo código continua exatamente o mesmo, enquanto no primeiro você teria que digitar 99 ifs!


🎓 Valide sua Lógica de Programação!

Mostre para as empresas que você domina a estruturação de algoritmos e o ecossistema PHP. Ao finalizar seus estudos, garanta a sua certificação oficial.

Curso de PHP com certificado online Obter meu certificado!