Array

Um array permite representar um conjunto de dados em uma única variável. Para criar um array em PHP é necessário utilizar a função array(). São três os tipos de arrays disponíveis no PHP, são eles:

  • Arrays indexados: arrays com índices numéricos;
  • Arrays associativos: arrays onde cada índice é referenciado por uma chave;
  • Arrays multidimensionais: são matrizes, isto é, arrays que contém um ou mais arrays.

Arrays Indexados

Quando o array é indexado por índices. No código apresentado a seguir, é criado um array $arr que contém 4 elementos (3, 5, 7 e 9).

<?php
$arr = array (3, 5, 7, 9);
}
?>

A atribuição também pode ser feita maneira manual, índice por índice:

<?php
$arr[0]=3;
$arr[1]=5;
$arr[2]=7;
$arr[3]=9;
?>

Acrescentando um novo valor ao array

Se um arrayfoi previamente definido, é possível modificá-lo acrescentando um novo elemento a ele, conforme exemplificado a seguir:

<?php
$arr = array (3, 5, 7, 9);
$arr[4]=11;

// esta sintáxe também funcionaria.  
//$arr[]=11;
?>

Se o índice for omitido (conforme linha comentada no código acima), o PHP identifica automaticamente o último índice utilizado e associa o novo valor ao índice seguinte (no exemplo supracitado, seria o índice de valor 4 que receberia o valor 11.

Percorrendo todos os valores do array

A seguir é apresentado um exemplo em que o array é percorrido e todos os seus elementos são apresentados.

<?php
$arr = array (3, 5, 7, 9);
for ($i=0;$i<4;$i++){
    echo $arr[$i];
    echo "</br>"; // quebra de linha
}
?>

Arrays associativos

Os arrays associativos são mapas que permitem relacionar valores às chaves. Assim, para cada valor representado no array há uma chave equivalente que permite acessá-lo. A estrutura básica de um array associativos é:

array(  chave =>  valor
     , ...
     )
// chave pode ser tanto string ou um integer
// valor pode ser qualquer coisa

Um array associativo pode ser criado conforme código apresentado a seguir:

<?php
$arr = array("salvador" => "Jesus Cristo", 10 => true);
?>

Os arrays associativos permitem a criação de chaves e valores heterogêneos (tipos diferentes). No exemplo apresentado anteriormente, existem dois tipos de chave, uma string (“salvador”), com uma string como valor (“Jesus Cristo”); e outra chave do tipo inteiro (10) com um valor booleano (true).

Da mesma forma que o array indexado, os elementos de um array associativo também podem ser criados um a um.

<?php
$arr["salvador"] ="Jesus Cristo";
$arr [10]=true;
?>

Um exemplo que mostra como é realizada a impressão dos elementos de um array associativo é mostrado a seguir:

<?php
$arr = array("salvador" => "Jesus Cristo", 10 => true);
echo $arr["salvador"]; // saída: Jesus Cristo
echo "</br>"; // quebra de linha em HTML
echo $arr[10]; // saída: 1
//echo $arr[12];   #dará erro porque não existe esta chave
?>

O acesso a uma chave que não tenha sido previamente definida gerará uma exceção (tire o comentário da linha que tenta imprimir o array co a chave 12 para testar).

Acrescentando um novo valor ao array

É possível adicionar novo par de chave-valor a um array previamente definido.

<?php
$arr = array("num1"=>2, "num2"=>4);
$arr["num3"]=8;
echo $arr["num3"];
?>

Neste exemplo anterior, foi acrescentada a chave num3 associando ao valor 8.

Percorrendo todos os valores do array

Para percorrer todos os elementos pode ser utilizada a estrutura de controle foreach, da seguinte forma:

<?php
$arr = array("num1"=>2, "num2"=>4);
$arr["num3"]=8;
echo "Imprimindo os valores do array";
foreach ($arr as $i=>$valor)
{
    echo "</br>";
    echo ($arr[$i]);
}
?>

Arrays Multidimensionais

Um array multidimensional é um array com várias dimensões, que pode conter um ou mais arrays.

Para exemplificação de um array multidimensional utilizaremos a tabela apresentada a seguir:

Nome Sexo Idade
João Masculino 18
Paula Feminino 19
Francisca Masculino 20

Para representar os dados da tabela anterior em um array multidimensional, o seguinte código poderia ser utilizado:

<?php
$dados = array
    (
    array("João", "Masculino", 18),
    array("Paula", "Feminino", 19),
    array("Francisco", "Masculino", 20),
    );
?>

Para que cada elemento deste array possa ser acessado, é necessário fazer referência a dois índices, a linha e a coluna. Por exemplo:

<?php
echo "Nome: ".$dados[0]{0}.", Sexo: ".$dados[0][1].", Idade: ".$dados[0]{2}."</br>";
echo "Nome: ".$dados[1]{0}.", Sexo: ".$dados[1][1].", Idade: ".$dados[1]{2}."</br>";
echo "Nome: ".$dados[2]{0}.", Sexo: ".$dados[2][1].", Idade: ".$dados[2]{2};
?>

Acrescentando um novo valor ao array

Conforme sintaxes previamente apresentadas, é possível acrescentar novos valores a um array previamente definido. A seguir é apresentado um exemplo de código com várias formas possíveis de fazer esta modificação.

<?php
$dados = array
(
    array("João", "Masculino", 18),
    array("Paula", "Feminino", 19),
    array("Francisco", "Masculino", 20),
);

$dados[3] = array ("Maria", "Feminino",21);

// OU

//$dados[] = array ("Maria", "Feminino",21);

// OU

/*
$dados[3][0]="Maria";
$dados[3][1]="Feminino";
$dados[3][2]=21;
*/

// OU

/*
$dados[3][]="Maria";
$dados[3][]="Feminino";
$dados[3][]=21;
*/
?>

Para testar as demais alternativas, basta retirar os comentários das outras abordagens e comentar as demais.

Percorrendo todos os valores do array

Também é possível percorrer todos os elementos do array através de uma estrutura de repetição. O código a seguir exemplifica o uso de um laço de repetição:

<?php
for ($linha=0; $linha<3; $linha++){
    echo "linha n.º $linha";
    echo "<ul";
    for ($coluna=0; $coluna<3; $coluna++){
       // echo "<li>. $dados[$linha][$coluna].</li>";
        echo "<li> {$dados[$linha][$coluna]}</li>";
    }
    echo "</ul>";
}
?>

Exercícios

Exercício 1: Utilizando array indexado, faça um script PHP que armazene uma lista de pessoas, em que cada uma é identificada por um código. Deve ser armazenado somente o nome de cada pessoa. O código que identifica cada pessoa é o próprio índice do vetor. Apresente os dados das pessoas (nome e código) em uma tabela formatada em HTML.

Exercício 2:Utilizando array multidimensional, altere o exercício anterior acrescentando mais dados para cada pessoa, que são Sobrenome e RG.

Exercício 3: Agora, utilizando array associativo, incremente os exercícios anteriores, acrescentando Endereço para cada pessoa. O Endereço deve ser representado em outro array e deve conter: Logradouro, Bairro, número e CEP. Os nomes das chaves devem estar coerentes com a sua representação, por exemplo, para identificar o nome de uma pessoa, utilize a chave nome.

results matching ""

    No results matching ""