Um Array é usado para armazenar um conjunto de valores em uma única variável. Arrays em PHP consistem de pares chave e valor. A chave pode ser um inteiro (array numérico), uma string (array associativo) ou uma combinação de ambos (array misto). O valor pode ser qualquer tipo de dados.
Arrays Numéricos
Arrays numéricos armazenam cada elemento na matriz com um índice numérico. Um array é criado usando o construtor array. Esse construtor recebe uma lista de valores que são atribuídos a elementos do array.
<?php $a = array(1,2,3); ?>
A partir do PHP 5.4 uma sintaxe mais curta está disponível, onde o construtor de matriz é substituído por colchetes.
<?php $a = [1,2,3]; ?>
Uma vez que a matriz é criada, seus elementos podem ser referenciados, colocando o índice do elemento desejado entre colchetes. Note-se que o índice começa com zero.
<?php $a[0] = 1; $a[1] = 2; $a[2] = 3; ?>
O número de elementos na matriz é feita automaticamente. Adicionando um novo elemento à matriz é tão fácil como a atribuição de um valor a ela.
<?php $a[3] = 4; ?>
O índice também pode ser deixado de fora para adicionar o valor para o final da matriz. Esta sintaxe também irá construir uma nova matriz se a variável ainda não contiver um.
<?php $a[] = 5; // $a[4] ?>
Para recuperar o valor de um elemento da matriz que o índice de elemento é especificada dentro de parêntesis rectos.
<?php echo "$a[0] $a[1] $a[2] $a[3]"; // "1 2 3 4" ?>
Arrays Associativos
Em arrays associativos a chave é uma string em vez de um índice numérico, o que dá o elemento de um nome em vez de um número. Ao criar a matriz do operador seta dupla (=>) é usado para dizer que chave se refere ao que valor.
<?php $b = array('one' => 'a', 'two' => 'b', 'three' => 'c'); ?>
Elementos em arrays associativos são referenciados usando os nomes de elementos. Eles não podem ser referenciados com um índice numérico.
<?php $b['one'] = 'a'; $b['two'] = 'b'; $b['three'] = 'c'; echo $b['one'] . $b['two'] . $b['three']; // "abc" ?>
O operador seta dupla também pode ser usado com matrizes numéricas de decidir em que um elemento de valor irá ser colocada.
<?php $c = array(0 => 0, 1 => 1, 2 => 2); ?>
Nem todas as chaves precisam de ser especificados. Se uma chave é deixado indeterminado o valor será atribuído ao elemento seguinte a maior chave de inteiro utilizado anteriormente.
<?php $e = array(5 => 5, 6); ?>
Arrays Mistos (mixed)
PHP não faz distinção entre arrays associativos e numéricos, e assim os elementos de cada um pode ser combinado na mesma matriz.
<?php $d = array(0 => 1, 'foo' => 'bar'); ?>
Só não se esqueça de acessar os elementos com as mesmas teclas.
<?php echo $d[0] . $d['foo']; // "1bar" ?>
Arrays multi-dimensionais
Uma matriz multidimensional é uma matriz que contém outros arrays. Por exemplo, uma matriz bi-dimensional pode ser construído da seguinte maneira.
<?php $a = array(array('00', '01'), array('10', '11')); ?>
Uma vez criados os elementos podem ser modificados utilizando-se dois conjuntos de colchetes.
<?php $a[0][0] = '00'; $a[0][1] = '01'; $a[1][0] = '10'; $a[1][1] = '11'; ?>
Eles também são acessados da mesma forma.
<?php echo $a[0][0] . $a[0][1] . $a[1][0] . $a[1][1]; ?>
A chave pode ser dado um nome de cadeia para torná-lo em uma matriz associativa multi-dimensional, também chamado de uma tabela hash.
<?php $b = array('one' => array('00', '01')); echo $b['one'][0] . $b['one'][1]; // "0001" ?>
Matrizes multidimensionais podem ter mais de duas dimensões, adicionando conjuntos adicionais de colchetes.
<?php $c[][][][] = "0000"; // quatro dimensões ?>
Links importantes Sobre:
http://www.php.net/manual/pt_BR/book.array.php