Arrays
Nesta lição veremos o que array, como usá-los e o que podemos fazer com eles.Entender arrays pode ser um pouco difícil no início. Mas, não desanime, vamos tentar... nós iremos tornar o processo de aprendizado o mais fácil possível.
O que é array?
Array é uma coleção (ou conjunto) de elementos indexados na qual cada um dos elementos tem um número identificador único.Parece confuso? Creia, não é tão complicado.
Imagine uma lista de palavras separadas por vírgula como a mostrada a seguir:
maçãs, peras, bananas, laranjas, limões
frutas(0) = maças
frutas(1) = peras
frutas(2) = bananas
frutas(3) = laranjas
frutas(4) = limões
esta é a idéia por trás de arrays. Vamos ver um exemplo prático.
Como usar um array?
Continuaremos com o array de frutas. Passo a passo mostraremos como fazer para a lista funcionar como um array. Primeiro vamos criar uma variável para conter a lista como mostrado a seguir:<?php $listadefrutas = "maçãs, peras, bananas, laranjas, limões"; ?>
<?php $listadefrutas = "maçãs, peras, bananas, laranjas, limões"; $arrFrutas = explode(",", $listadefrutas); ?>
Observe que chamamos a função explode com dois argumentos:
- a lista a ser dividida
- e o delimitador - isto é, o caractere usado para separar os itens da lista (no caso do exemplo a vírgula) colocado entre aspas ",".
Vamos comentar o script e colocá-lo em uma página PHP:
<html> <head> <title>Array</title> </head> <body> <?php // Lista separada por vírgula $listadefrutas = "maçãs, peras, bananas, laranjas, limões"; // Cria um array seprando os itens da lista (tendo a vírgula como delimitador) $arrFrutas = explode(",", $listadefrutas); // Escreve os valores do array echo "<p>Lista de frutas:</p>"; echo "<ul>"; echo "<li>" . $arrFrutas[0] . "</li>"; echo "<li>" . $arrFrutas[1] . "</li>"; echo "<li>" . $arrFrutas[2] . "</li>"; echo "<li>" . $arrFrutas[3] . "</li>"; echo "<li>" . $arrFrutas[4] . "</li>"; echo "</ul>"; ?> </body> </html>
Loop por um array
Na lição 5 estudamos loops. A seguir veremos como realizar um loop por um array.Quando você conhece o número de itens de um array não encontra problemas para definir um loop por ele. Você começa em 0 e desenvolve o loop até atingir o número de itens do array. No exemplo das frutas um loop pelo array seria como mostrado a seguir:
<html> <head> <title>Array</title> </head> <body> <?php // Lista separada por vírgula $listadefrutas = "maçãs, peras, bananas, laranjas, limões"; // Cria um array seprando os itens da lista (tendo a vírgula como delimitador) $arrFrutas = explode (",", $listadefrutas); echo "<p>Lista de frutas:</p>"; echo "<ul>"; // Loop pelo array $arrFrutas for ($x=0; $x<=4; $x++) { echo "<li>" . $arrFrutas[$x] . "</li>"; } echo "</ul>"; ?> </body> </html>
Como você pode notar a variável $x (que cresce de 0 a 4 no loop) foi usada para chamar o array.
Como encontrar o tamanho de um array
Mas, o que acontecerá se uma outra fruta for adicionada à lista? Nosso array passará a ter mais um item cujo número identificador será 5. Já deu para ver o problema? Precisamos alterar o loop para que ele funcione de 0 a 5, caso contrário não serão incluídos todos os elementos do array.Não seria maravilhoso se pudéssemos saber automaticamente quantos itens um array tem?
É isso exatamente o que faremos a seguir com uso da função foreach. Agora podemos criar um loop que funciona em todo array independentemente do número de itens nele contido:
<?php foreach ($arrFrutas as $x) { echo $x; } ?>
Outro exemplo
A seguir mostramos um exemplo, usando array, para escrever os nomes dos meses:<html> <head> <title>Array</title> </head> <body> <?php // Cria um array dos meses. // Cria um array com os meses. Notar a vírgula antes do mês de janeiro. Isto é necessário //porque não existe mês representado pelo número $arrMes = array("","Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"); // Chama o array com o número do mês - escreve no navegador do usuário echo $arrMes[date("n")]; ?> </body> </html>