LabMM4 (T09 - 12/13) - Integridade referencial e normalização
LabMM4 (T14 - 12/13) - Arrays
-
Upload
carlos-santos -
Category
Education
-
view
420 -
download
2
description
Transcript of LabMM4 (T14 - 12/13) - Arrays
PHP: Arrays
Carlos SantosLabMM 4 - NTC - DeCA - UAAula 14, 11-04-2013
Arrays em PHP
Um array é uma estrutura de dados que permite agrupar itens que partilham determinadas características -> é um agrupamento lógico de dados relacionados
Cada item agrupado distingue-se através dum identificador especial, a chave
Cada item possui dois componentes:
• chave que o identifica (pode ser igual à posição ocupada no array)• valor armazenado
Valor0 Valor1 Valor2 Valor3
[0] [1] [2] [3]
array
Arrays: Declaração/criação e chaves
As chaves podem ser:
• numéricas -> as chaves não têm relação com os valores armazenados, indicando apenas a sua posição no array• $clubes = array(0 => “Sporting", 1 => “Porto“);echo $clubes[0];
• a posição inicial dos arrays de chave numérica em PHP é 0 (zero)
• associativas -> as chaves estão relacionadas logicamente com os valores armazenados• $clubes = array(“SCP" => “Sporting", “SCB" => “Braga“, “FCP” => “Porto”);echo $clubes[“SCP”];
Arrays multidimentionais
Arrays multidimensionais (Arrays de Arrays)
• $tresgrandes = array(“SCP" => array (“Nome” => “Sporting“, “Estadio” => “Alvalade XXI”),“SCB" => array(“Nome“ => “Braga”, “Estadio” => “Municipal”),“FCP” => array(“Nome“ => “Porto”, “Estadio” => “Dragão”));
• $tresgrandes[“SCP”][“Estadio”] -> “Alvalade XXI”
Spor%ng Braga Porto
Alvalade XXI Municipal Dragão
[Nome]
[Estadio]
[SCP] [SCB] [FCP]
Arrays: Declaração por atribuição
Array com chave NUMÉRICA
• atribuição directa de valores ao array com a indicação da respectiva chave• $clubes[0] = “Sporting";$clubes[1] = “Braga";$clubes[2] = “Porto";
• se a chave for ascendente, pode ser omitida na criação!• $clubes[] = “Sporting";$clubes[] = “Braga";
Array com chave ASSOCIATIVA
• uma chave associativa nunca pode ser omitida na criação!• $feriados[“Natal”] = “25 dezembro”;$feriados[“AnoNovo”] = “1 janeiro”;
Arrays: list()
Permite atribuir a variáveis, os valores armazenados num Array com chave numérica
• $info = array(‘café', ‘castanho', ‘cafeína');
• // Listar todas as variáveislist($drink, $color, $power) = $info;echo “O $drink é $color e a $power torna-o estimulante.";
• // Listar apenas algumaslist($drink, , $power) = $info;echo “O $drink tem $power.";
• // Mostrar apenas a terceiralist( , , $power) = $info;echo “Preciso $power!";
+info: http://pt2.php.net/manual/en/function.list.php)
$drink = $info[0];$color = $info[1];$power = $info[2];
Arrays: Inserção e escrita de valores
Povoar um array com uma gama de valores
• $numeros = range(0,6);// idêntico a $numeros = array(0,1,2,3,4,5,6)
• $npares = range(0,20,2); //inc pode ser uma variável// $npares = array(0,2,4,6,8,10,12,14,16,18,20);
• $letras = range("A",“G");// $letras = array("A","B","C","D","E","F", "G");
Escrever o conteúdo de um array -> print_r()
• print_r($letras);
• print_r($npares);
Arrays: Testar tipo de variáveis
Para testar se uma variável é um Array -> is_array()
• $cidades = array(“Lisboa“, “Aveiro”);$cidade = “Porto”;
printf("\$cidades é um array: %s",(is_array($cidades) ? “V" : "F"));
printf("\$cidade é um array: %s",(is_array($cidade) ? “V" : "F"));
-> “$cidades é um array: V”-> “$cidade é um array: F”
Arrays: Métodos para adicionar valores
Ao início do Array -> array_unshift()
• $states = array("Ohio","New York");array_unshift($states,"California","Texas");
//$states -> array("California","Texas","Ohio","New York");
Ao final do Array -> array_push()
• $states = array("Ohio","New York");array_push($states,"California","Texas");
//$states -> array("Ohio","New York","California","Texas");
Arrays: Métodos para remover valores
Ao início do Array -> array_shift()
• $states = array("Ohio","New York","California","Texas");$state = array_shift($states);
// $states -> array("New York","California","Texas")// $state -> "Ohio"
Ao final do Array -> array_pop()
• $states = array("Ohio","New York","California","Texas");$state = array_pop($states);
// $states -> array("Ohio", "New York", "California“)// $state -> "Texas"
Arrays: Mais métodos
http://php.net/manual/en/ref.array.php
Arrays: Pesquisas
Pesquisar um valor no Array -> in_array()
• retorna TRUE se encontrar o valor pesquisado e FALSE se não encontrar• $states = array("California", "Hawaii", "Ohio", "New York");
if(in_array("Ohio", $states)) {" echo “Encontrei!";} else {" echo “Não encontrei."}
Arrays: Pesquisas
Pesquisar uma chave em Arrays associativos -> array_key_exists()
• $clubes[“SCP"] = “Sporting";$clubes[“SLB"] = “Benfica";$clubes[“FCP"] = “Porto";
if (array_key_exists(“SCP", $clubes)) { printf(“Encontrei o %s", $clubes[“SCP"]);}
Arrays: Pesquisas
Pesquisar um valor em Arrays associativos -> array_search()
• $clubes[“SCP"] = “Sporting";$clubes[“SLB"] = “Benfica";$clubes[“FCP"] = “Porto";
$founded = array_search(“Porto", $clubes);if ($founded) { printf("%s foi encontrado.“, $clubes[$founded]);}
-> “Porto foi encontrado.”
Arrays: Pesquisas
• $clubes[“SCP"] = “Sporting";$clubes[“SCB"] = “Braga";$clubes[“FCP"] = “Porto";
Retornar todas as chaves num Array -> array_keys()
• $keys = array_keys($clubes);print_r($keys);
Retornar todos os valores de um array -> array_values()
• $keys = array_values($clubes);print_r($keys);
Arrays: Acesso por ponteiro
Retornar a chave de uma dada posição do Array -> key()
• $clubes = array("SCP" => "Alvalade", "FCP" => "Dragão");while ($chave = key($clubes)) { echo $chave . "<br />"; next($clubes);}
Retornar o valor armazenado numa dada posição do Array -> current()
• $clubes = array("SCP" => "Alvalade", "FCP" => "Dragão");while($estadio = current($clubes)) { echo $estadio . "<br />"; next($clubes);}
Arrays: movimentação de ponteiro
Mover o ponteiro
• sendo $fruta um array• next($fruta) -> move ponteiro para a posição seguinte• prev($fruta) -> move ponteiro para a posição anterior
• $fruta = array(“maçã", “laranja", "banana“, “morango”);
• $frutas = next($fruta); // $fruta = “laranja"
• $frutas = next($fruta); // $fruta = "banana“
• $frutas = prev($fruta); // $fruta = “laranja"
“maçã” “laranja” “banana” “morango”
Arrays: movimentação de ponteiro
Mover o ponteiro
• reset($fruta) -> move o ponteiro para a posição inicial do array• current($fruta) -> valor na posição actual do ponteiro• end($fruta) -> move ponteiro para a posição final do array
• $fruta = array(“maçã", “laranja", "banana“, “morango”);
• $frutas = current($fruits); // “maçã"
• $frutas = end($fruits); // “morango“
• $frutas = reset($fruits); // “maçã"
“maçã” “laranja” “banana” “morango”