Bora ajudar o programador a transformar café em código?

Mostrando postagens com marcador Arrays. Mostrar todas as postagens
Mostrando postagens com marcador Arrays. Mostrar todas as postagens

Funções de Arrays em PHP

O PHP Progressivo agora faz parte do Programação Progressiva!

Este conteúdo foi atualizado e movido para o nosso novo endereço.

Redirecionando para: Clique aqui se não for redirecionado

Neste tutorial de nosso curso de PHP, vamos estudar diversas funções e operações que são possíveis de se fazer usando arrays.

Estudar arrays pela apostila de PHP

Operações com Arrays

União: $a + $b
O array $b é anexado ao final do array $a, menos os conflitos de chaves

Igualdade: $a == $b
Verdade se $a e $b contém os mesmos elementos

Identidade: $a === $b
TRUE se $a e $b contém os mesmos elementos e na mesma exata ordem

Desigualdade: $a != $b ou $a <> $b
TRUE se $a e $b não contém os mesmos elementos, ou seja, ao menos um difere

Não-identidade: $a !== $b
Verdadeiro caso $a e $b não contenham os mesmos elementos na mesma ordem

Funções de Adição e remoção de elementos em Arrays

Adiciona elementos ao final: array_push()

Sintaxe:
int array_push(array alvo , variáveis);

Seja o array: $carros=array("gol", "celta");
Se fizermos: array_push($carros, "civic", "corolla")
Vai ficar: $carros=array("gol", "celta", "civic", "corolla");

Adiciona elementos ao início: array_unshift()

Funciona igual ao array_push(), mas ao invés de adicionar ao final, adiciona no começo.
Seja o array: $carros=array("gol", "celta");
Se fizermos: array_unshift($carros, "civic", "corolla")
Vai ficar: $carros=array("civic", "corolla", "gol", "celta");

Retira o último elemento: array_pop()

Retira e retorna o último elemento do array.

Sintaxe:
variavel array_pop(array alvo);

Seja o array: $carros=array("gol", "celta");
Se fizermos: $carro = array_pop($carros)
Temos: $carro = "celta";

Retira o primeiro elemento: array_shift()

Funciona igual o array_pop(), mas ao invés de retirar o último elemento, retira o primeiro.

Se estiver usando arrays numéricos, todos vão 'descer' um degrau numérico.
Se for em arrays associativos, nada acontece.

Seja o array: $carros=array("gol", "celta");
Se fizermos: $carro = array_shift($carros)
Temos: $carro = "gol";

Localizando Elementos em um Array

Localizar se algo está no array: in_array()

Sintaxe:
boolean in_array(algo, $array);
Retorna TRUE se algo está no $array e FALSE caso não esteja.

Seja $carros=array("gol", "celta", "civic", "corolla");
Se fizermos:
in_array("civic", $carros) -> retorna verdadeiro
in_array("fox", $carros) -> retorna falso

Localizar key: array_key_existis()
Sintaxe:
boolean array_key_existis(key, $array)

Retorna TRUE se key existe no array e FALSE se não existe.

Ordenando Arrays

Classificando arrays: sort()

Classifica o array em ordem alfabética ou numérica.

Seja: $numeros = array(2,3,1)
Fazendo: sort($numeros)
Fica: $numeros = arrau(1,2,3)

Seja $estados = array('SP','CE','AL')
Fazendo: sort($estados)
Fica: $estados = array('AL', 'CE', 'SP')

Ou seja, o método sort() classifica alfa ou numericamente os valores de elementos de um array.

Sabe aqueles filtros:
"Ordenar por mais procurado"
"Ordenar por mais barato"

Pois é, é tudo array e tudo usa sort().
Esse PHP é mesmo poderoso, não é?

Classificando em ordem contrária: rsort()

Inverso da sort()

Classificação nativa: natsort()

Procura fazer uma classificação nativa, como uma pessoa faria.

Seja o array:
$fotos=array("foto2.jpg", "foto3.jpg", "foto1.jpg");
Fazendo: natsotr($fotos);
Fica:$fotos=array("foto1.jpg", "foto2.jpg", "foto3.jpg");

Mais funções

Combinando keys e values: array_combine()

Sintaxe:
array array_combine( array $key, array $value)

Ele combina um array de que são serão as keys, o $key, com um que são os valores, o $value.
Seja:
$tipo=array('popular', 'sedan');
$modelo=array('gol', 'civic');
Se fizermos: $carros = array_combine($tipo, $modelo);

E dermos um print_r:
Array ( [popular] => gol [sedan] => civic )

Número aleatório de elementos: array)rand()

Sintaxe:
elementos array_rand($array, numero_aleatorio_elementos);

Ele pega um array e retorna um número aleatório de elementos.
Seja $carros=array("gol", "celta", "civic", "corolla");
Se fizermos:
$aleatorios = array_rand($carros, 2)

Aqui retornou: Array ( [0] => 0 [1] => 3 )
Ou seja, "gol" e "corolla", ele já dá a resposta em array associativo.

Embaralhar elementos: shuffle()

void shuffle(array input_array)

Simplesmente embaralha os elementos de um array.
Por exemplo, se tiver: $carros=array("gol", "celta", "civic", "corolla");
E fizer: shuffle($carros);

O resultado vai ser:
Array ( [0] => celta [1] => gol [2] => corolla [3] => civic )

Somando elementos: array_sum()
array_sum($array)

Retorna a soma de todos os items que forem somáveis, ou seja, que foram inteiros ou floats.
Seja:
$meuArray = array(21, "rush", 12);
E fizermos: $soma = array_suma($meuArray);
O resultado séra: $soma=33

Falamos apenas de algumas poucas funções que podemos fazer com arrays, para ver mais, acesse:
https://secure.php.net/manual/pt_BR/ref.array.php

O Loop FOREACH - Laço de arrays

O PHP Progressivo agora faz parte do Programação Progressiva!

Este conteúdo foi atualizado e movido para o nosso novo endereço.

Redirecionando para: Clique aqui se não for redirecionado

Neste tutorial de nossa apostila de PHP, vamos aprender o que é e como usar o FOREACH, laço especialmente criado para se usar com arrays.

Obrigatório: Baixe a apostila PHP Progressivo

O Laço foreach as ... para arrays numéricos

Como se já não bastasse o número de laços (while, do while e for) existentes na linguagem, os criadores do PHP desenvolveram um especialmente para se usar com arrays, o foreach as.

Vamos pegar o array:
$carros = array('gol', 'celta', 'fox', 'corolla', 'civic');

Para exibir esses carros usando foreach, fazemos:
 <?php
  $carros = array('gol', 'celta', 'fox', 'corolla', 'civic');
  
  foreach($carros as $car)
   echo "$car <br />";
 ?>
O que ocorre é o seguinte...fazemos com que o array $car assuma o valor de cada elemento do array maior $carros.

Assim, o laço foreach percorre todos os elementos do array $carros, onde podemos trabalhar da maneira que quisermos com cada item.

O Loop foreach as ... para arrays associativos

Embora não sejam estruturas enumeradas e logicamente organizadas, é possível usar o laço foreach com arrays associativos também.

Vamos definir um array de chaves e valores da seguinte forma:
$carros['popular'] = 'celta';
$carros['sedan'] = 'corolla';
$carros['premium'] = 'bmw';
$carros['suv'] = 'hr-v';

Para exibir da chave e cada valor, com foreach, um por linha, fazemos:
 <?php
  $carros['popular'] = 'celta';
  $carros['sedan'] = 'corolla';
  $carros['premium'] = 'bmw';
  $carros['suv'] = 'hr-v';
  foreach($carros as $chave => $valor)
   echo "$chave : $valor <br />";
 ?>
A variável $chave vai pegar o valor de cada key do array $carros e a variável $valor o value de cada elemento correspondente, assim podemos acessar e alterar esses elementos da maneira que quisermos.

Note que é possível percorrer arrays gigantescos, medonhos e ir fazendo alterações, copiando, ou o que for, de uma maneira muito simples e totalmente automatizada com o laço foreach as...que inglês significa "para cada ... como..."

Ou seja, "para cada elemento do array, trate como"...e o foreach vai sozinho pegando um por um, todos os elementos do array.

A função range () no PHP

O PHP Progressivo agora faz parte do Programação Progressiva!

Este conteúdo foi atualizado e movido para o nosso novo endereço.

Redirecionando para: Clique aqui se não for redirecionado

Neste tutorial, vamos aprender a usar a função range(), muito útil para se usar com arrays em PHP.

Recomendado: Baixar apostila de PHP

A função range()

Muitas vezes, é necessário preencher um array com números, ordenados.
Por exemplo, criar um array de 100 elementos, para representar os funcionários de uma empresa e inicializar eles manualmente se torna uma tarefa enfadonha.

Imagina nas lojas virtuais que você vai criar, com milhares de produtos a venda?

A função range() é perfeita para se trabalhar com arrays e ela possui a seguinte sintaxe:
array range(int menor, int maior, int pulo);

Esse pulo, é opcional.
Mas é basicamente assim, você vai fornecer um valor mínimo (menor) e um máximo (maior) e ela te retorna um objeto do tipo array

Por exemplo, vamos criar um dado, um array que vai de 1 até 6:
$dado = range(1, 6);

Pronto, $dado já um objeto do tipo array com 6 elementos (de índices que vão de 0 até 5 - sempre se lembre, em computação se começa contando do 0 e não do 1).

Função range() com salto

Vamos supor que você queira um array com elementos de 1 até 100, mas de 2 em 2.
Ou seja, seus elementos vão ser: 1, 3, 5, 7, 9, ..., 99

Basta fazer: $meuArray = range(1, 100, 2);

Primeiro o ponto de partida, depois o ponto máximo que ele pode chegar e o salto que vai ficar dando como terceiro argumento.

Função range() para Letras
É possível usar a função range com letras também.

Para gerar o alfabeto minúsculo:
$alfaminusculo = range('a', 'z');

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

E prontinho, automaticamente vai ter um array totalmente preenchido pronto para você usar, seja lá qual for sua necessidade, e acredite, várias vezes você vai precisar usar a range.

Arrays Associativos em PHP

O PHP Progressivo agora faz parte do Programação Progressiva!

Este conteúdo foi atualizado e movido para o nosso novo endereço.

Redirecionando para: Clique aqui se não for redirecionado

Neste tutorial de nossa apostila de PHP, vamos aprender o que são, como criar, usar e acessar os arrays associativos em PHP.

Estudar arrays pela apostila

Arrays Associativos em PHP

Vimos no tutorial anterior sobre como criar arrays de índices numéricos, como trabalhar com arrays que possuem índices enumerados.

Porém, as vezes fica difícil trabalhar com números, é decorativo pois você precisa lembrar que número é associado a cada elemento e isso também deixa difícil para outros programadores darem manutenção em seu código.

E é aí que entram os arrays associativos, que não precisam de números para associar determinados items, você pode associar qualquer chave (key) para relacionar a qualquer valor (value).

Como criar um array associativo

Vamos supor que você foi contratado numa concessionária e vai precisar criar um array com os carros da sua loja, mas você vai usar arrays associativos. Nosso array é o $array.

Em vez de números, vamos dar nomes as keys:
$carros['popular'] = 'celta';
$carros['sedan'] = 'corolla';
$carros['premium'] = 'bmw';
$carros['suv'] = 'hr-v';

Pronto.
Quer se referir ao Celta, que é um carro popular? Acesse o item do array:
$carros['popular'];

Como imprimir arrays associativos

Vamos imprimir esse array:
print_r($carros);

O resultado é:
Array ( [popular] => celta [sedan] => corolla [premium] => bmw [suv] => hr-v )

Veja o motivo de ser associativo:
[popular] => celta
[sedan] => corolla
[premium] => bmw
[suv] => hr-v

Os nomes da esquerda são as keys e da direita os values.
Aí fica mais fácil entender essa 'associação' dos pares chave-valor.

Arrays em PHP: Como criar, Acessar e Exibir elementos

O PHP Progressivo agora faz parte do Programação Progressiva!

Este conteúdo foi atualizado e movido para o nosso novo endereço.

Redirecionando para: Clique aqui se não for redirecionado

Neste tutorial de PHP, vamos finalmente aprender como criar nossos arrays. Também veremos como acessar seus elementos e exibir (printar) um array.

Estudar arrays pela Apostila de PHP

Como criar um Array

Primeiro, vamos te ensinar como criar um array numericamente indexado, que são os mais comuns na maioria das linguagens de programação.

A sintaxe é:
$nome_variavel = array (elemento0, elemento1, elemento2, ...)

Ou seja, basta escolhermos o nome da variável, usar a palavra-chave array, abrir parêntesis e entre vírgulas fornecer os elementos de um array.

Vamos criar um array de carros:
$carros = array('gol', 'celta', 'fox', 'corolla', 'civic');

Uma outra maneira de inicializar um array seria:
$carros[]='gol';
$carros[]='celta';
$carros[]='fox';
$carros[]='corolla';
$carros[]='civic';

Note que tem um par de colchetes após o nome da variáveis, ela quer dizer que estamos lidando com um array, e não com uma variável escalar simples.
Cada vez que fazemos isso, estamos adicionando um elemento so array $carros.

Como Acessar Elementos de um Array

Para os programadores, a contagem começa do 0, sempre.
Assim, o primeiro elemento, é o elemento 0, e é o 'gol'.
Elemento 0 -> 'gol'
Elemento 1 -> 'celta'
...
Elemento 4 -> 'civic'

Para acessar o primeiro elemento, fazemos:
$carros[0] -> aqui está armazenada a string 'gol'
$carros[1] -> aqui está armazenada a string 'celta'
...
$carros[2] -> aqui está armazenada a string 'corolla'

Como Exibir Elementos de um Array

Imagina que tivéssemos a variável
$meuCarro='gol'

E você quisesse escrever em PHP: "Meu carro é um $meuCarro";
Você entenderia perfeitamente, não é verdade?

Aqui, com arrays, é a mesma coisa, a diferença é em vez de uma variável comum, a do array possui um colchete de um número associado.
Ficaria: "Meu carro é um $carros[0]"

Prontinho.
A diferença é que você tem um array com uma gama enorme de dados.

Como imprimir um Array: print_r

Existe uma função especial, a print_r() que serve para imprimir arrays de uma maneira mais bonita e organizada.

Teste: print_r($carros)
O resultado vai ser:
Array ( [0] => gol [1] => celta [2] => fox [3] => corolla [4] => civic )

Exercício de Array

Você foi contratado para ser um desenvolvedor web. Com seu salário, vai comprar uma BMW.
Adicione "BMW" ao array de carros e diga que possui uma BMW acessando o elemento do array.

Resposta:
$carros[] = 'BMW';
echo "Eu tenho uma $carros[5]";

Bem simples esses arrays, não?

Array em PHP - O que é ? Para que serve? Onde se usa?

O PHP Progressivo agora faz parte do Programação Progressiva!

Este conteúdo foi atualizado e movido para o nosso novo endereço.

Redirecionando para: Clique aqui se não for redirecionado

Neste tutorial de nosso Curso de PHP, vamos dar uma introdução sobre o uso dos Arrays, falar o que são, para que servem, como e onde são usados, bem como criar alguns.

Recomendamos: Estudar pela Apostila de PHP

Array em PHP - Por que usar?

Até o momento, nossas variáveis serviam para armazenar uma coisa apenas de cada vez.
Uma número, uma string, um float...

As vezes, pedíamos 2, 3 até 5 informações ao usuário, até aí, ok.
Mas e se você for contratado para criar o sistema web de uma faculdade com mil alunos.

Vai criar mil variáveis?
Se cada aluno tiver 10 matérias? Vai criar 10 mil variáveis?

Assim não pode, assim não dá, e é aí que entram os arrays!

Arrays em PHP - O que é?

Veja os arrays como um conjunto ordenado de alguma coisa.
Por exemplo, uma sala de aula é um array de estudantes.

Uma concessionária, é um array de carros.
Pessoas na porta de uma boate, um array de clientes querendo entrar.

Arrays são um bloco de estruturas menores, parecidas entre si, que estão de alguma maneira ordenada, seja numericamente ou por uma chave (key).

Arrays em PHP - Onde são usados ?

Sabe aqueles pães de padaria, assim que saem de forma, todos grudados? São exemplos perfeitos de um array, onde cada pão é um elemento do array.

Então, em vez de trabalhar declarando mil variáveis na sua faculdade, você declara um array com mil elementos, onde cada elemento desse representa a nota de um aluno.

Imagine agora um sistema bancário, com milhões de clientes. Existe um array, onde cada cliente é um bloco desse array.

Um array pode conter um inteiro, um float, uma string, outro array (arrays multidimensionais), objetos de qualquer tipo...arrays são estruturas para se trabalhar com muita informação, de maneira rápida, fácil e organizada, como vamos ver.

Vamos ver como declarar e acessar os elementos de um array no próximo tutorial.

Veja também

O melhor PC para programar

O melhor celular para programar