Arrays
Um array no PHP é na verdade um mapa ordenado. Um mapa é um tipo
que relaciona valores a chaves. Este tipo é otimizado para vários usos
diferentes: ele pode ser tratado como um array, uma lista (vetor), hashtable (que
é uma implementação de mapa), dicionário, coleção, pilha, fila e provavelmente
mais. Assim como existe a possibilidade dos valores do array serem
outros arrays, árvores e arrays multidimensionais.
Sintaxe
Especificando com array()
Um array pode ser criado com o construtor de linguagem array(). Ele leva
qualquer quantidade de pares separados por vírgula chave => valor como
argumentos.
array(
chave => valor,
chave2 => valor2,
chave3 => valor3,
...
A vírgula após o último elemento do array é opcional e pode ser omitida.
Isso geralmente é feito para arrays em uma única linha, por exemplo, array(1,
2) é preferível em vez de array(1, 2, ). Para arrays escritos em várias linhas, por
outro lado, a vírgula à direita do último elemento é usada frequentemente, para
permitir a adição de forma simples de novos elementos ao final.
Nota:
Existe uma sintaxe curta que substitui array() por [].
Declaração de array php
Para declarar um array em PHP utilizamos o construtor de
linguagem array() , para o qual podemos passar por parâmetro os valores que
desejamos armazenar, separados por vírgula, como mostra o exemplo a seguir:
Também é possível iniciar o array utilizando colchetes, como pode ser observado
abaixo, pois para o PHP essas duas formas de inicialização são equivalentes:
O PHP permite ainda a declaração de arrays associativos. Para esse fim, o
construtor array() pode receber quais serão as chaves às quais os valores estão
associados como parâmetro. Um exemplo dessa sintaxe pode ser visto a seguir:
);
Nota: Internamente, o PHP interpreta um construtor de linguagem de
forma diferente de uma função, apesar da declaração de ambas serem
semelhantes.
Acessando os índices de um array
Após declarar a variável que contém os valores, podemos acessá-los
utilizando sua posição, como mostra o exemplo a seguir:
O exemplo acima imprime os três valores contidos no array. Uma vez que a
contagem se inicia em zero, devemos acessar a primeira posição através do
índice $array[0], a segunda pelo índice $array[1], e assim em diante.
É possível acessar um valor diretamente através da chave a qual ele está
relacionado. O trecho de código a seguir imprime o valor dois, contido na
segunda posição do array para o qual a chave é chave2:
Também podemos sobrescrever o valor presente em uma posição
específica do array utilizando a chave a ele associada. Ao executar o código
abaixo, chave2 vai apontar para o valor numérico 2, em lugar da palavra dois:
Caso a chave seja omitida no momento da declaração do array, os
valores informados serão associados a índices numéricos sequenciais, como
vemos no exemplo a seguir:
Sendo assim, para imprimir o valor na segunda posição do array devemos
informar a chave 1, uma vez que a contagem dos índices se inicia em zero:
Ao final da execução desse trecho de código veremos impresso o
valor PHP.
Percorrendo os índices de um array
Por meio de uma estrutura de repetição, como o foreach, podemos
percorrer os dados em um array. O exemplo a seguir imprime todas as chaves
do array $array, bem como o valor associado a cada uma delas:
Na maioria dos casos, tanto as chaves quanto a dimensão do
array podem ser desconhecidas e, por essa razão, foreach será adequado para
iterar os valores de um array.
Arrays multidimensionais
É possível que um array seja utilizado como valor para outro array. Sendo
esse o caso, dizemos que este é um array multidimensional. Abaixo podemos
conferir como criar um array multidimensional em PHP:
Então, para acessar os valores presentes nesse array precisamos de dois
índices, visto que se trata de um array de duas posições:
A partir do primeiro índice 0, estamos acessando o array na primeira
posição de $linguagens. Na sequência, acessamos a segunda posição neste
array a partir do índice 1. Ao final de sua execução, o código acima imprime o
valor PHP: Hypertext Preprocessor.
Exemplo prático
No código a seguir temos um array com os dados de funcionários:
}
}Linhas 1 a 5: Temos o nosso array com os seguintes dados dos
funcionários: nome, idade e se ele se encontra ou não ativo;
Linha 07: Declaramos uma variável chamada bonificação, que é utilizada
para acrescentar 10% do valor do salário dos funcionários ativos;
Linhas 09 a 17: Para simplificar o processo de modificação desses
valores, percorremos a lista de funcionários em um foreach, imprimindo ao final
de cada iteração o resultado do cálculo, quando aplicável.
Exemplo recebendo dados pelo método post