![]() |
![]() | |||||||||||||||
|
Arrays Índice da página:
|
||||||||||||||||
![]() | ||||||||||||||||
|
Um Array é uma ferramenta indispensável em programação, e consta de uma lista (Tabela) de múltiplos valores.
Cada elemento é referenciado por um Index (Key). Índices numéricos têm início em zero, e se não fôr nomeado o índice, estes serão ordenados automáticamente por ordem crescente. Existem dois métodos de declarar um array numérico. • 1º Método: $ling[] = "Português"; $ling[] = "Francês"; $ling[] = "Inglês"; echo $ling[1]; // Retorna Francês. • 2º Método: $ling = array("Português", "Francês", "Inglês"); echo $ling[2]; // Retorna Inglês. Apresentamos um exemplo prático de selecção de idiomas.
<?php
echo 'Seleccione Idiomas que Fala: <br>';
echo '<form action="exe018.php" method="get">';
$ling = array("Português", "Francês", "Inglês", "Alemão");
for ($n=0; $n<=3; ++$n){
echo '<input type="checkbox" name="idioma['.$n.']"> '.$ling[$n].'<br>';}
echo '<br><input type="submit" value="Seleccionar" name="sub"></form>';
if ($sub != ""){
echo 'Os Idiomas que Fala: ';
for ($n=0; $n<=3; ++$n){
if (!$idioma[$n] == false){
echo $ling[$n]." ";}}}
?>
Com uma pequena alteração de estrutura, também é possível indexar arrays através de strings. $ling = array("pt" => "Português", "fr" => "Francês", "uk" => "Inglês"); echo $ling["pt"]; // Retorna Português. O exemplo que apresentamos refere-se a uma lista de códigos que mostra o Idioma Correspondente.
<?php
echo 'Veja Idioma do Código: <br>';
echo '<form action="exe019.php" method="get">';
$ling = array("pt" => "Português", "fr" => "Francês", "uk" => "Inglês");
echo '<select name="code" size="3">';
echo '<option value="pt">pt</option>';
echo '<option value="fr">fr</option>';
echo '<option value="uk">uk</option></select><br>';
echo '<br><input type="submit" value=" Ver " name="sub"></form>';
if ($sub != ""){
echo 'O Idioma Correspondente é: ';
echo $ling[$code];}
?>
No php pode fazer uma lista do seu array através da função foreach.
A sua sintaxe é: foreach($array as $valor){acção;} No exemplo mostramos uma listagem de um array de Idiomas.
<?php
echo 'Veja Lista de Idiomas: <br><br>';
$ling = array("Português", "Francês", "Inglês", "Alemão", "Grego", "Italiano");
foreach ($ling as $res){
echo '<li>'.$res.'</li><br>';}
?>
Existe uma vasta lista de funções para arrays, pode ver em: http://www.php.net/manual/en/ref.array.php.
Neste curso focamos aquelas que são normalmente mais usadas. • Implode. Transforma um Array (Tabela) numa única string, separada por um delimitador escolhido por si. • Explode. Transforma uma string num array, separada por um delimitador escolhido por si.
No exemplo abaixo mostramos a aplicação das duas funções.
<?php
echo 'array("Português", "Francês", "Inglês", "Alemão", "Grego", "Italiano") <br><br>';
$ling = array("Português", "Francês", "Inglês", "Alemão", "Grego", "Italiano");
$imp = implode("-",$ling);
echo "Implode:<br>";
echo '$imp = '.$imp.'<br><br>';
echo "Explode:<br>";
$exp=explode("-",$imp);
echo '$exp = '.$exp.'<br>';
echo '$exp[0] = '.$exp[0];
?>
Um array Multi Dimensional, não é mais do que um array dentro de outro array sub-indexado. No exemplo abaixo apresentamos um array de Países com um sub array de Cidades para cada País.
<?php
$ling = array(
"Portugal" => array("Lisboa", "Porto", "Coimbra"),
"Espanha" => array("Madrid", "Sevilha", "Barcelona"),
"Itália" => array("Roma", "Nápoles", "Turim"));
foreach($ling as $key => $pais){
echo '<h3>'.$key.'</h3>';
foreach($pais as $cidade){
echo '<li>'.$cidade.'</li>';}}
?>
Esta função é parecida com a função Explode, mas dimensionável. É muito usada na amostragem de abertura de Files,
por isso fazemos mensão dela neste capítulo. Esta função retorna um array delimitado por um caractere numa string, e dimensiona o array retornando o resto da string. A sua sintaxe é: array split("caractere", string, [limite]) No Exemplo mostramos a construção de um array tirada de uma string, separada por dois pontos.
<?php
$ling = "Nome:Luis Carlos:Profissão:Cozinheiro";
$res = split(':', $ling, 4);
echo '$Texto = "Nome:Luis Carlos:Profissão:Cozinheiro"<br><br>';
echo 'Resultado Split:<br><br>';
echo '$res[0] = '.$res[0].'<br>';
echo '$res[1] = '.$res[1].'<br>';
echo '$res[2] = '.$res[2].'<br>';
echo '$res[3] = '.$res[3].'<br><br>';
echo $res[0].": ".$res[1]."<br>";
echo $res[2].": ".$res[3];
?>
| ||||||||||||||||
![]() | ||||||||||||||||
![]() |
![]() |
![]() |
![]() | |||||||||||||