Arrays no PHP

Arrays guardam vários valores em uma única variável.

O que é um Array?
Trabalhando com PHP, cedo ou tarde você vai acabar criando várias variáveis similares.
Neste caso, ao invés de ter várias variáveis similares, você pode guardar os valores em um array.
Cada elemento do array tem o seu próprio ID sendo assim facilmente acessado.

Existem tres tipos diferentes de arrays:
  • Arrays numéricos que possuem como identificador um número inteiro.
  • Array assotiativo que usam como identificador um outro valor.
  • Arrays multidimensionais que possuem outros arrays como valores.
Arrays numéricos
Arrays numéricos são os que possuem um identificador do tipo número inteiro.
Existem diferentes formas de se criar um array numérico.

Exemplo 1

Neste exemplo os identificadores inteiros são automaticamente criados a partir do 0 e incrementando de um a cada valor.

$nomes = array("João", "Maria", "Pedro");

Exemplo 2

Neste exemplo os identificadores são criados manualmente.
   1:<?php
2:$nomes[0] = "João";
3:$nomes[1] = "Maria";
4:$nomes[2] = "Pedro";
5:?>

Os identificadores podem ser usados em um script.
   1:<?php
2:$nomes[0] = "João";
3:$nomes[1] = "Maria";
4:$nomes[2] = "Pedro";
5:echo $nomes[1] . " e " . $nomes[2] .
6:" são vizinhos de ". $nomes[0];
7:?>

O código acima produzirá como saida 

João e Maria são vizinhos de Pedro


Arrays associativos

Em um array associativo cada identificador é associado a um valor.
Quando é necessário guardar valores que estão associados a nomes o array associativo é a melhor opção.
Com arrays associativos nos podemos usar os valores como chaves e associar outros dados aos valores.
Exemplo 1
Neste exemplo nos usamos arrays associativos para guardar idades.

$idades = array("João" => 45, "Maria" => 38, "Pedro" => 32);

Os identificadores podem ser usados em um script:
   1:<?php
2:$idades['João'] = "45";
3:$idades['Maria'] = "38";
4:$idades['Pedro'] = "32";
5:echo "A idade de Pedro é " . $ages['Pedro'] . " anos.";
6:?>

A saida do código acima seria:

A idade de Pedro é 32 anos.


Arrays multidimensionais

Em um array multidimensional, cada elemento do array principal pode ser um array. Além disso cada elemento no sub-array também pode ser um array e assim por diante.

Exemplo

Neste exemplo nós vamos criar um array multidimensional com os identificadores numéricos criados automaticamente.
   1:<?php
2:$familias = array
3:(
4:"Ferreira"=>array
5:(
6: "Marta",
7: "Jorge",
8: "Gabriela"
9:),
10:"Duarte"=>array
11:(
12: "Rosa"
13:),
14:"Assis"=>array
15:(
16: "João",
17: "Maria",
18: "Pedro"
19:)
20:);
21:?>

O array acima deve aparecer da seguinte forma se for escrito na saida:

Array
(
[Ferreira] => Array
(
[0] => Marta
[1] => Jorge
[2] => Gabriela
)
[Duarte] => Array
(
[0] => Rosa
)
[Assis] => Array
(
[0] => João
[1] => Maria
[2] => Pedro
)
)


Exemplo 2

Para mostrar um um valor específico do array cima fazemos o seguinte:
   1:<?php
2:echo "A " . $families['Ferreira'][2] .
3: " faz parte da família Ferreira.";
4:?>

A saida do código acima será:

A Gabriela faz parte da família Ferreira;

3 comentários:

  1. Linha 5 em Arrays Associativos, corrigir $ages para $idades.
    []'s

    ResponderExcluir
  2. Este comentário foi removido pelo autor.

    ResponderExcluir
  3. Oi Thiago!

    Seu exemplo ficou bom tanto é que assimilei, inclusive eu resolvi escrever o código em menos linhas e criei mais um exemplo de concatenação de array multidimencional. Veja como ficou meu código editado em jEdit e testado no Browser.

    $familias=array(
    "Ferreira"=>array("Marta","Jorge","Gabriela"),
    "Duarte"=>array("Rosa"),
    "Assis"=>array("João","Maria","Pedro")
    );
    echo "A ".$familias['Ferreira'][2].
    " faz parte da família Ferreira.
    ";
    echo $familias['Assis'][0]." e ".$familias['Assis'][2].
    " fazem parte da família Assis.";
    Abraços!!!

    ResponderExcluir