Ir para o conteúdo

Matrizes (Arrays)

As matrizes em PHP, ao contrário de outras linguagens de programação (C/C++), permitem armazenar dados de tipos variados. Uma matriz é um conjunto de variáveis "juntas" numa só. Sem nos apercebermos disso, estamos constantemente a usar matrizes, por exemplo, $_GET usa uma matriz.

<?php
$aluno0="Eduardo";
$aluno1="Joao";
?>

Em vez de criarmos variáveis para cada aluno, podemos organizá-los numa matriz, por número e/ou string (entre ''):

<?php
$alunos[0]="Eduardo";
$alunos[1]="Joao";
print_r ($alunos); #imprimir o conteúdo da matriz
?>

ou ainda

$alunos=array('Eduardo', 'João');

É exactamente o mesmo que acima foi mostrado. Por defeito começa pelo índice 0, mas esse índice pode ser especificado, como veremos a seguir:

<?php
$alunos=array(12 => 'Eduardo', 13=> 'Joao'); #temos o Eduardo como aluno nº 12 e o João o nº13
print_r ($alunos); #mostrar os conteúdos da matriz
?>

Mas o índice também pode ser texto.

$alunos=array("Aluno 12" => 'Eduardo', "Aluno 13"=> 'Joao'); #temos o Eduardo como aluno nº 12 e o João o nº13

Ou ambos.

$alunos=array("Aluno 12" => 'Eduardo', 13 => 'João'); #temos o Eduardo como aluno nº 12 e o João o nº13

Arrays Multidimensionais

Podem existir matrizes multidimensionais.

$alunos = array("Aluno 12" => array("Nome" => "Eduardo", "Idade" => 13),
                 13 => array("Nome" => "João", Idade => 14, "Irmão(s)" => array(1 => "Alberto", 2 => "Nuno")))

Para aceder basta:

$alunos[13]["Irmão(s)"][2];

Foreach

O foreach percorre a matriz de uma ponta à outra muito facilmente.

//
foreach ($alunos as $nome => $value){
//Isto irá imprimir o índice, e o valor
echo $nome.': '.$value
}

Existem muitas funções para manipulação de arrays, aqui ficam algumas das mais importantes (lista completa):

Para ver mais funções de manipulação de arrays, pode consultar o website oficial do PHP.