PHP – Arrays
Um array é uma estrutura de dados que armazena um ou mais tipos de valores semelhantes em um único valor. Por exemplo, se você deseja armazenar 100 números, em vez de definir 100 variáveis, é fácil definir uma matriz com 100 números.
Existem três tipos diferentes de arrays e cada valor da array é acessado usando um ID c, chamado índice de matriz.
- Array Numérico– uma matriz com um índice numérico. Os valores são armazenados e acessados de maneira linear.
- Array associativos – Um array com seqüências de caracteres como índice, que armazena valores de elemento em associação com valores-chave, e não em uma ordem de índice linear estrita.
- Matriz multidimensionais – Um array contendo uma ou mais matrizes e valores é acessada usando vários índices
Array Numérico
Esses arrays podem armazenar números, sequências de caracteres e qualquer objeto, mas seu índice será representado por números. Por padrão, o índice do array começa do zero.
Exemplo
A seguir, o exemplo mostra como criar e acessar matrizes numéricas.
Aqui usamos a função array() para criar o array. Esta função é explicada na referência de função.
<html>
<body>
<?php
/* Primeira método de criar um array */
$numeros = array( 1, 2, 3, 4, 5);
foreach($numeros as $valor) {
echo "Valor: $valor <br />";
}
/* Segundo método de criar um array */
$numeros[0] = "um";
$numeros[1] = "dois";
$numeros[2] = "três";
$numeros[3] = "quatro";
$numeros[4] = "cinco";
foreach($numeros as $valor) {
echo "Valor: $valor <br />";
}
?>
</body>
</html>
Isso produzirá o seguinte resultado:
Valor: 1
Valor: 2
Valor: 3
Valor: 4
Valor: 5
Valor: um
Valor: dois
Valor: três
Valor: quatro
Valor: cinco
Array associativos
Os arrays associativos são muito semelhantes aos arrays numéricos em termos de funcionalidade, mas são diferentes em termos de índice. O array associativo terá seu índice como string, para que você possa estabelecer uma forte associação entre chave e valores.
Para armazenar os salários dos funcionários em um array, um array numérico e indexada não seria a melhor opção. Em vez disso, poderíamos usar os nomes dos funcionários como as chaves em nossa matriz associativa, e o valor seria o respectivo salário.
NOTA – Não mantenha o array associativo dentro de aspas duplas durante a impressão, caso contrário ela não retornaria nenhum valor.
Exemplo
<?php
/* primeiro método de criar um array associado */
$salarios = array("lucas" => 2000, "nath" => 1000, "matheus" => 500);
echo "Salário de Lucas é ".$salarios['lucas']."<br />";
echo "Salário de Nathalia é ".$salarios['nath']."<br />";
echo "Salário de Matheus é ".$salarios['matheus']."<br />";
/* Segundo método de criar um array */
$salarios['lucas'] = "alto";
$salarios['nath'] = "médio";
$salarios['matheus'] = "baixo";
echo "Salário de Lucas é ".$salarios['lucas']."<br />";
echo "Salário de Nathalia é ".$salarios['nath']."<br />";
echo "Salário de Matheus é ".$salarios['matheus']."<br />";
?>
Isso produzirá o seguinte resultado:
Salário de Lucas é 2000
Salário de Nathalia é 1000
Salário de Matheus é 500
Salário de Lucas é alto
Salário de Nathalia é médio
Salário de Matheus é baixo
Array multidimensionais
Uma matriz multidimensional, cada elemento da matriz principal também pode ser uma matriz. E cada elemento na sub-matriz pode ser uma matriz, e assim por diante. Os valores na matriz multidimensional são acessados usando vários índices.
Exemplo
Neste exemplo, criamos um array bidimensional para armazenar notas de três alunos em três disciplinas.
Este exemplo é um associativo, você pode criar uma matriz numérica da mesma maneira.
<html>
<body>
<?php
$notas= array(
"lucas" => array (
"fisica" => 35,
"matematica" => 30,
"ciencia" => 39
),
"nathalia" => array (
"fisica" => 30,
"matematica" => 32,
"ciencia" => 29
),
"zara" => array (
"fisica" => 31,
"matematica" => 22,
"ciencia" => 39
)
);
/* Acessando valores multidimensionais do array */
echo "Nota de Lucas em física: " ;
echo $notas['lucas']['fisica'] . "<br />";
echo "Nota de Nathalia em matemática: ";
echo $notas['nath']['matheus'] . "<br />";
echo "Nota de Matheus em matemática: " ;
echo $notas['matheus']['ciencias'] . "<br />";
?>
</body>
</html>
Isso produzirá o seguinte resultado:
Nota de Lucas em física: 35
Nota de Nathalia em matemática: 32
Nota de Matheus em matemática: 39