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
}
Links
Existem muitas funções para manipulação de arrays, aqui ficam algumas das mais importantes (lista completa):
bool is_array (var)
Retornatrue
oufalse
consoantevar
seja ou não uma matriz.int count (var, mode)
Devolve o número de linhas na matriz.mixed current(var)
Devolve o elemento actual do array.mixed next(var)
Aponta para o próximo elemento do array.mixed reset(var)
Aponta para o primeiro elemento do array e devolve-o.mixed end(var)
Aponta para o último elemento do array e devolve-o.
Para ver mais funções de manipulação de arrays, pode consultar o website oficial do PHP.