Unidade C – Introdução a linguagem PHP – parte 2

Arrays

Array, ou vetor, são estruturas que podem armazenar vários valores, sendo a referência a cada valor através de um índice. O que muda no PHP é que este índice pode ser tanto um número quanto uma string. Vejamos alguns exemplos de criação de arrays em PHP:

- Definição de um array sem valores:

- Criando de array inicializado:

 

Nos exemplos acima, para acessar cada elemento de um vetor, devemos nos referir ao seu índice. Em PHP o primeiro índice de um vetor é o 0 (Zero). Sendo que o último índice é sempre igual ao número de elementos de um vetor - 1. Assim, um vetor de 5 elementos tem índices numéricos inteiros que vão de 0 a 4.

 

- No exemplo abaixo, quando não é especificado o índice, o valor é atribuído para o próximo índice livre, iniciando em zero:

Array Associativo

Em um vetor associativo, os índices são strings. Assim, não temos índices numéricos, mas conjuntos de caracteres que representam cada elemento do vetor. Veja abaixo duas formas diferentes de criar um array associativo:

ou

Laço para mostrar valores de array

Vamos utilizar um tipo especial de laço para mostrar os dados de arrays, é o foreachO foreach fornece uma forma bastante prática de percorrermos um vetor associativo e tem duas variações, vejamos a sua estrutura:

  1. No foreach do exemplo abaixo o laço percorre todos os elementos e a cada iteração atribui o valor do elemento para a variável $valor:
    • $nomearray = array(1,2,3,4);
      foreach($nomearray as $valor){
               echo "$valor <br />";

      }

  2. Já no exemplo abaixo a cada iteração é atribuído o índice do elemento para a variável $indice e o valor para a variável $valor:
    • $nomearray = array(1,2,3,4);
           foreach($nomearray as $indice => $valor){
               echo "$indice  - $valor <br />";
           }


Algumas funções para arrays

A tabela abaixo apresenta funções para ordenação de arrays.

sort

ordena de forma crescente (do menor para o maior)
$frutas = array ("maça","uva","abacaxi","banana");
sort($frutas); //abacaxi, banana, maça, uva
foreach($frutas as $valor)
  echo "$valor, ";

//saída: abacaxi, banana, maça, uva,
rsort

ordena de forma decrescente (do maior para o menor)
$frutas = array ("maça","uva","abacaxi","banana");
rsort($frutas);
foreach($frutas as $valor)
  echo "$valor, ";

//saída: uva, maça, banana, abacaxi
asort

ordena um array associativo mantendo a associação entre índices e valores

$vet = array ("nome" => "Ana", "idade" => "23", "cargo" => "gerente");
asort($vet);
foreach($vet as $valor)
      echo "$valor, ";

//saída: 23, Ana, gerente,
arsort

ordena um array associativo em ordem decrescente mantendo a associação entre índices e valores

$vet = array ("nome" => "Ana", "idade" => "23", "cargo" => "gerente");
arsort($vet);
foreach($vet as $valor)
      echo "$valor, ";

//saída: gerente, Ana, 23,
ksort

ordena um array por seus índices
$vet = array ("nome" => "Ana", "idade" => "23", "cargo" => "gerente");
ksort($vet);
foreach($vet as $ind => $valor)
      echo "$ind: $valor, ";

//saída: cargo: gerente, idade: 23, nome: Ana,

Outras duas funções interessantes para tratamento de arrays são apresentadas na tabela abaixo: implode e explode.

implode

Retorna uma string contendo todos os elementos do array, separados pela string passada por parâmetro.
$partes = array("a", "casa número", 13, "é azul");
$frase  = implode(" ",$partes);
/* $frase passa a conter a string:
"a casa número 13 é azul"

*/
explode

Retorna um array contendo partes da string fornecida, separadas pelo delimitador fornecido.
$data = "11/14/1975";
$vdt  = explode("/",$data);

/* O array $vdt vai conter os seguintes valores:

$vdt[0] = 11
$vdt[1] = 14
$vdt[2] = 1975

*/