Arrays

Índice da página:

Índice Numérico

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]." ";}}}
?>
Ver Índice

Índice Literal

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];}
?>	
Ver Índice

Foreach (Looping Array)

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>';}
?>	
Ver Índice

Implode e Explode

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];
?>	
Ver Índice

Multi Dimensional

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>';}}
?>	
Ver Índice

Split

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];
?>	
Ver Índice