Neste post, você aprenderá o básico sobre o que é um array em PHP. Você aprenderá como criar um array e como usar arrays associativos e multidimensionais, e verá muitos exemplos de valores de arrays com PHP em ação.
O que é um array em PHP?
Em PHP, uma matriz é uma estrutura de dados que permite armazenar vários elementos em uma única variável. Esses elementos são armazenados como pares chave-valor. Na verdade, você pode usar um array sempre que precisar armazenar uma lista de elementos. Na maioria das vezes, todos os itens em uma matriz têm tipos de dados semelhantes.
Por exemplo, digamos que você queira armazenar nomes de frutas. Sem uma matriz, você acabaria criando várias variáveis para armazenar os diferentes nomes de frutas. Por outro lado, se você usar um array para armazenar nomes de frutas, pode ser assim:
Como você pode ver, usamos o $array_fruits
variável para armazenar os diferentes nomes de frutas. Uma grande coisa sobre esta abordagem é que você pode adicionar mais elementos ao $array_fruits
variável de matriz mais tarde.
Existem várias maneiras de manipular valores de array em PHP — vamos explorá-las na parte posterior deste artigo.
Como inicializar um array
Nesta seção, exploraremos como inicializar uma variável de array em PHP e adicionar valores a essa variável.
Quando se trata de inicialização de array, existem algumas maneiras diferentes. Na maioria dos casos, é o array()
construção de linguagem que é usada para inicializar uma matriz.
No trecho acima, o $array
variável é inicializada com uma matriz em branco.
A partir do PHP 5.4, você também pode usar a seguinte sintaxe para inicializar um array.
Agora, vamos ver como adicionar elementos a um array nesta estrutura de dados de array PHP:
'; print_r($array); ?>
O snippet acima deve produzir a seguinte saída:
Array ( [0] => One [1] => Two [2] => Three )
O importante a observar aqui é que os índices de array em PHP começam com 0. Sempre que você adiciona um novo elemento a um array sem especificar um índice, o array atribui um índice automaticamente.
Claro, você também pode criar um array já inicializado com valores. Esta é a maneira mais concisa de declarar um array com PHP se você já sabe quais valores ele terá.
Como acessar os elementos da matriz
Na seção anterior, discutimos como inicializar uma variável de array. Nesta seção, exploraremos algumas maneiras diferentes de acessar os elementos do array.
A primeira maneira óbvia de acessar os elementos do array é buscá-los pela chave ou índice do array.
"; // get the second element of the $array array echo $array[1]; echo "
"; // get the third element of the $array array echo $array[2]; echo "
"; ?>
O snippet acima deve produzir a seguinte saída:
One Two Three
Uma maneira mais limpa de escrever o código acima é usar um foreach
loop para percorrer os elementos da matriz.
'; } ?>
O trecho acima deve produzir a mesma saída e requer muito menos código.
Da mesma forma, você também pode usar o for
loop para percorrer os elementos da matriz.
'; } ?>
Aqui, estamos usando o for
loop para passar por cada índice na matriz e, em seguida, ecoar o valor armazenado nesse índice. Neste snippet, apresentamos uma das funções mais importantes que você usará ao trabalhar com arrays: count
. É usado para contar quantos elementos estão em uma matriz.
Tipos de Array em PHP
Nesta seção, discutiremos os diferentes tipos de array que você pode usar em PHP.
Matrizes indexadas numericamente
Uma matriz com o índice numérico cai na categoria de uma matriz indexada. Na verdade, os exemplos que discutimos até agora neste artigo são arrays indexados.
O índice numérico é atribuído automaticamente quando você não o especifica explicitamente.
No exemplo acima, não especificamos um índice para cada item explicitamente, então ele será inicializado com o índice numérico automaticamente.
Claro, você também pode criar um array indexado usando o índice numérico, conforme mostrado no seguinte trecho de estrutura do PHP:
Também é possível ter arrays com teclas numéricas que não sejam sequenciais ou comecem do zero, como no exemplo a seguir:
One [11] => Two [12] => Three [-18] => Four [13] => Five ) */ ?>
Não confie em uma matriz desconhecida em PHP para ter chaves numéricas sequenciais, a menos que você defina explicitamente suas chaves para que sejam assim.
Matrizes associativas
Uma matriz associativa é semelhante a uma matriz indexada, mas você pode usar valores de string para chaves de matriz.
Vamos ver como definir um array associativo.
'John', 'email' => '[email protected]', 'phone' => '1234567890', ];
Como alternativa, você também pode usar a seguinte sintaxe.
Para acessar valores de uma matriz associativa, você pode usar o índice ou o foreach
ciclo.
'John', 'email' => '[email protected]', 'phone' => '1234567890', ]; // get the value of employee name echo $employee['name']; // get all values foreach ($employee as $key => $value) { echo $key . ':' . $value; echo '
'; } ?>
Como você pode ver, aqui obtivemos o nome consultando-o diretamente e, em seguida, usamos o foreach
loop para obter todos os pares chave-valor na matriz.
Matrizes multidimensionais
Nos exemplos que discutimos até agora, usamos valores escalares como elementos de matriz. Na verdade, você pode até armazenar arrays como elementos dentro de outros arrays — esse é um array multidimensional.
Vejamos este exemplo de array PHP:
'John', 'email' => '[email protected]', 'phone' => '1234567890', 'hobbies' => ['Football', 'Tennis'], 'profiles' => ['facebook' => 'johnfb', 'twitter' => 'johntw'] ]; ?>
Como você pode ver, o hobbies
chave no $employee
array contém um array de passatempos. Da mesma forma, o profiles
A chave contém uma matriz associativa dos diferentes perfis.
Vamos ver como acessar valores de um array multidimensional.
'John', 'email' => '[email protected]', 'phone' => '1234567890', 'hobbies' => ['Football', 'Tennis'], 'profiles' => ['facebook' => 'johnfb', 'twitter' => 'johntw'] ]; // access hobbies echo $employee['hobbies'][0]; // Football echo $employee['hobbies'][1]; // Tennis // access profiles echo $employee['profiles']['facebook']; // johnfb echo $employee['profiles']['twitter']; // johntw ?>
Como você pode ver, os elementos de um array multidimensional podem ser acessados com o índice ou chave daquele elemento em cada parte do array.
Desempacotando Valores de Array com PHP
A partir da versão 7.4, o PHP adicionou a capacidade de expandir arrays usando o spread (...
) operador.
Dog [1] => Horse [2] => Goat [3] => Rabbit [4] => Lion [5] => Tiger [6] => Crocodile [7] => Cat ) */ ?>
Inicialmente, só podíamos desempacotar valores de array em PHP com chaves numéricas. No entanto, o PHP 8.1 veio com suporte para desempacotar arrays com string keys. aqui estão alguns exemplos:
"red", "heading" => "blue", "sidebar" => "yellow"]; $user_colors = ["body" => "white", "paragraph" => "black"]; $theme_colors = [...$default_colors, ...$user_colors]; print_r($theme_colors); /* Array ( [body] => white [heading] => blue [sidebar] => yellow [paragraph] => black ) */ ?>
Você deve observar que a descompactação da matriz dessa maneira resulta na substituição de valores existentes armazenados em chaves baseadas em string, enquanto as chaves numéricas simplesmente são renumeradas. Desempacotando $user_colors
antes da $default_colors
no exemplo acima teria definido o valor do body
chave para "red"
no $theme_colors
variedade.
Algumas Funções Úteis de Array do PHP
Nesta seção, examinaremos algumas funções de array úteis que são usadas com frequência para operações de array.
o count()
Função
o count()
função é usada para contar o número de elementos em uma matriz. Isso geralmente é útil se você deseja iterar uma matriz com um for
ciclo.
No entanto, você deve ter cuidado ao fazer loop em uma matriz com um for
ciclo. Isso ocorre porque não há garantia de que as chaves numéricas em uma matriz sempre serão sequenciais, começarão do zero ou estarão em ordem crescente simples.
o is_array()
Função
Esta é uma das funções mais úteis para lidar com arrays. É usado para verificar se uma variável é uma matriz ou algum outro tipo de dados.
Você sempre deve usar esta função antes de executar qualquer operação de matriz se não tiver certeza do tipo de dados.
o in_array()
Função
Se você quiser verificar se existe um elemento na matriz, é o in_array()
função que vem para o resgate.
O primeiro argumento do in_array()
function é um elemento que você deseja verificar e o segundo argumento é o próprio array.
o explode()
Função
o explode()
A função divide uma string em várias partes e a retorna como uma matriz. Por exemplo, digamos que você tenha uma string separada por vírgulas e queira dividi-la nas vírgulas.
'; print_r($array); // output /*Array ( [0] => One [1] => Two [2] => Three )*/ ?>
O primeiro argumento do explode()
A função é uma string delimitadora (a string na qual você está dividindo) e o segundo argumento é a própria string.
o implode()
Função
Isso é o oposto do explode()
função – dado um array e uma string de cola, o implode()
A função pode gerar uma string unindo todos os elementos de uma matriz com uma string de cola entre eles.
O primeiro argumento do implode()
A função é uma string de cola e o segundo argumento é o array a implodir.
o array_push()
Função
o array_push()
A função é usada para adicionar novos elementos ao final de uma matriz.
'; print_r($array); // output /*Array ( [0] => One [1] => Two [2] => Three [3] => Four )*/ ?>
O primeiro argumento é uma matriz e os argumentos subsequentes são elementos que serão adicionados ao final de uma matriz.
o array_pop()
Função
o array_pop()
função remove um elemento do final de uma matriz.
'; print_r($array); // output /*Array ( [0] => One [1] => Two )*/ ?>
o array_pop()
A função retorna o elemento que foi removido de uma matriz, para que você possa puxá-lo para a variável. Juntamente com array_push()
essa função é útil para implementar estruturas de dados como pilhas.
o array_slice()
Função
o array_slice()
A função é útil quando você deseja extrair alguma parte de um determinado array. Ele aceita quatro parâmetros: a matriz, o índice a partir do qual cortar, o número de elementos a cortar e se a chave numérica deve ser preservada. A função sempre preservará as chaves de string, independentemente do quarto parâmetro.
Andrew [1] => Laura [2] => Monty [3] => Sally ) */ ?>
O valor de deslocamento também pode ser negativo. Nesse caso, a posição de corte será determinada a partir do final da matriz.
o array_splice()
Função
º array_splice()
A função é útil quando você deseja se livrar de uma parte de uma matriz e/ou substituí-la por outra coisa. Ele também aceita quatro parâmetros: a matriz, o índice de deslocamento a partir do qual iniciar a remoção, o comprimento a ser removido e uma substituição opcional para os valores removidos.
Charger [1] => Keyboard [2] => Smartphone [3] => Pen [4] => Headphones [5] => Mouse ) */ ?>
É isso — agora você sabe o que é um array em PHP!
Isso é tudo que você precisa saber para começar a codificar com arrays em PHP. Você viu como criar arrays e como recuperar elementos deles. Você aprendeu os diferentes tipos de arrays em PHP e deu uma olhada em algumas das funções PHP embutidas mais úteis para trabalhar com arrays.
Nota Editorial: Este post tem foi atualizado com contribuições de Gonzalo Ângulo. Gonzalo é redator da Envato Tuts+.