O assunto de hoje é o sobre array. Se já mexeu com alguma linguagem de programação, já deve ter visto ou trabalhado com um array. Se é leigo no assunto, vamos estar vendo sobre o mesmo no PHP.
Os arrays também podem ser identificados como tipos de dados compostos. Os elementos e os dados de um array, são conhecimos como os pares de chave e valor. Vamos supor que temos um array com 3 elementos, onde cada um contém uma letra do alfabeto. Exemplo:
1 | // Chave : 0 1 2 |
Na prática temos duas formas de criar um array e representar esse exemplo:
1 | // função array |
Não se preocupe com os exemplos práticos. Logo abaixo vamos estar vendo os tipos, funções de arrays e as regras para entender melhor como eles funcionam.
Tipos de arrays
Uma coisa muito importante, é não esquecer que a chave numérica de um elemento de um array, sempre começa em 0. E você pode acessar um elemento do array, acessando com a chave entre colchetes. Exemplo:
1 | $array = array(0 => 'a', 1 => 'b', 2 => 'c'); |
Indexado / Associativo
Um array indexado é conhecido como tal, qual suas chaves são do tipo numérico. Um array de chaves nomeadas com strings, é conhecido como array associativo.
1 | // Array com chaves númericas(indexadas) |
1 | // Array com chaves nomeadas(associativas) |
Bidimensional / Multidimensional
Os arrays podem ser de duas ou mais dimensões. Isso quer dizer, que podemos ter um array, dentro de um array. Não se tem um limite de dimensões para os arrays, mas dependendo da quantidade, fica difícil manter o código de fácil entendimento. Exemplo:
1 | // Array tridimensional |
Dinâmicos
Já vimos que os arrays podem ser indexados, associativos, bidimensionais e até multidimensionais. No PHP, eles também podem ser dinâmicos. Com isso, podemos adicionar, deletar e alterar os elementos com comandos e funções para esse uso.
1 | $array = array('name' => 'Ana', 'country' => 'Brasil'); |
Acima, temos um array associativo com 3 elementos. O que acontece se adicionarmos um valor, sem informar a chave? Podemos conferir no exemplo abaixo.
1 | $array = array('name' => 'Ana', 'country' => 'Brasil', 'age' => 29); |
É, quando não informamos a chave, automaticamente a chave recebe o próximo índice numérico. Como é apenas um array associativo e não tinha nenhuma chave numérica, o próximo índice é o 0. Vamos ver como fica no próximo exemplo.
1 | $array = array(0 => 'Ana', 1 => 'Brasil', 'age' => 29); |
Para alterar o valor, é bem intuitivo. Basta informar a chave e lhe dar o novo valor.
1 | $array = array(0 => 'Ana', 1 => 'Brasil', 'age' => 29); |
Agora vamos brincar um pouco ao remover elementos com a função array_splice. Na função, você informa 3 parâmetros, sendo o terceiro opcional.
1 | $array = array(0 => 'Ana', 1 => 'Brasil', 'age' => 29); |
1 | $array = array(0 => 'Ana', 1 => 'Brasil', 'age' => 29); |
Também podemos criar um novo array, apenas com o resultado da função array_splice, em uma variavel. Exemplo:
1 | $array = array(0 => 'Ana', 1 => 'São Paulo', 2 => 'Rio de Janeiro'); |
Uma outra função para remover elementos de um array, é a função unset. Exemplo:
1 | $array = array(0 => 'Ana', 1 => 'São Paulo', 2 => 'Rio de Janeiro'); |
Foreach
Funciona apenas com arrays. Retorna um erro se for utilizado em uma variável de qualquer tipo diferente ou em variáveis não inicializadas. Pode ser usada de duas formas:
1 | foreach (array as $valor) { |
1 | $arr = array(1, 2, 3, 4); |
Algumas funções de Array
O array é muito usado no PHP. Por esse motivo, tem muitas funções nativas da linguagem, que podemos utilizar.
sort
Essa função ordena um array. Os elementos serão ordenados do menor para o maior ao final da execução dessa função.
1 | // bool sort ( array &$array [, int $sort_flags ] ) |
rsort
Essa função ordena um array em ordem descrescente (do maior para o menor).
1 | // bool rsort ( array &$array [, int $sort_flags ] ) |
asort
Essa função ordena um array de forma que a correlação entre índices e valores é mantida. É usada principalmente para ordenar arrays associativos onde a ordem dos elementos é um fator importante.
1 | // bool asort ( array &$array [, int $sort_flags ] ) |
arsort
Esta função ordena um array de forma que a correlação entre índices e valores é mantida. É usada principalmente para ordenar arrays associativos onde a ordem dos elementos é um fator importante.
1 | // bool arsort ( array &$array [, int $sort_flags ] ) |
ksort
Ordena um array pelas chaves, mantendo a correlação entre as chaves e os valores. Essa função é bastante útil principalmente para arrays associativos.
1 | // int ksort ( array &$array [, int $sort_flags ] ) |
krsort
Ordena um array pelas chaves em ordem descrescente, mantendo a correlação entre entre as chaves e os valores. Essa função é bastante útil em arrays associativos.
1 | // bool krsort ( array &$array [, int $sort_flags ] ) |
usort
Essa função irá ordenar um array pelos valores usando uma função de classificação definida pelo usuário. Se o array precisar ser ordenado utilizando um critério não trivial, você deve usar essa função.
1 | // bool usort ( array &$array , string $cmp_function ) |
array_sum
array_sum() retorna a soma dos valores de um array.
1 | // number array_sum ( array $array ) |
array_unique
Recebe o argumento array e retorna um novo array sem valores duplicados.
1 | // array array_unique ( array $array ) |
in_array
Procura no array, pelo valor informado.
1 | // bool in_array ( mixed $needle , array $haystack [, bool $strict ] ) |
array_search
Procura no array, pelo valor informado.
1 | // mixed array_search ( mixed $needle , array $haystack [, bool $strict ] ) |
array_rand
array_rand() é bastante útil quando se quer conseguir aleatoriamente um ou mais elementos de um array.
1 | // mixed array_rand ( array $input [, int $num_req ] ) |
array_merge
Funde os elementos de dois ou mais arrays de forma que os elementos de um são colocados no final do array anterior. Retorna o array resultante da fusão.
1 | // array array_merge ( array $array1 [, array $array2 [, array $... ]] ) |
array_walk
Aplica uma função definida pelo usuário nomeada pelo argumento funcname em cada elemento de array.
1 | // bool array_walk ( array &$arrary , string $funcname [, mixed $userdata ] ) |
count
Conta os elementos de um array.
1 | // int count ( mixed $var [, int $mode ] ) |
shuffle
Essa função mistura de forma aleatória os elementos de um array.
1 | // bool shuffle ( array &$array ) |
extract
Importar variáveis a partir de um array para a tabela de símbolos corrente. extract() verifica cada chave e vê se ela tem um válido nome de variável. Também verifica por colisões com já existente variáveis na tabela de símbolo.
1 | // int extract ( array $var_array [, int $extract_type [, string $prefix ]] ) |
compact
Cria um array contendo variáveis e seus valores.
1 | // array compact ( mixed $varname [, mixed $... ] ) |
Referências
- PHP Documentation - Manual do PHP
Conclusão
Se pode brincar bastante com arrays em PHP. Nas linguagens de programação, com certeza irá se deparar com um array. Sempre busque a melhor maneira de trabalhar com eles, pois ele pode ser usado da forma mais básica, até a mais complexa com multidimensões.

