Arrays – Parte III – Arrays enumerativos e associativos

Arrays podem ser divididos em duas categorias: enumerativa e associativos.

Enumerativa: As matrizes são indexadas usando apenas os índices numéricos.

Associativos: Permitem a associação de uma chave arbitrária para cada elemento.

No PHP esta distinção pode ficar um pouco confusa, porque, você pode criar uma matriz enumerativa e depois adicionar elementos associativos para ele (mantendo em uma enumeração). Além do mais, as matrizes se comportam mais como mapas e podem usualmente ser usadas para simular um número de estruturas diferentes, incluindo filas e pilhas.

O PHP fornece uma grande quantidade de flexibilidade na forma como chaves numéricas podem ser atribuídas a matrizes: eles podem ser qualquer número inteiro (negativo e positivo), e não necessariamente ser sequencial, de modo que uma grande lacuna pode existir entre os índices de dois valores consecutivos sem a necessidade de criar valores intermédios para cobrir sempre que possível as chaves entre os dois. Além disso, as chaves de um array não determinam a ordem dos seus elementos, como vimos anteriormente, quando criamos uma array com as chaves enumerativa que foram fora da ordem natural.

Quando um elemento é adicionado a um array sem especificar uma chave, o PHP automaticamente atribui um numérico que é igual a maior chave numérica já existente na matriz, mais um:

$a = array (2 => 5);
$a[] = ‘a’; // Esse irá ter a chave com o valor 3

Observe que isso é verdadeiro mesmo se o array contém uma combinação de chaves em sequência numérica:

$a = array (’4’ => 5, ’a’ => ’b’);
$a[] = 44; // Esse irá ter a chave com o valor 5

OBSERVAÇÃO: Note que as chaves da matriz são case-sensitive, mas de tipo insensível. Assim, a chave ‘A’ é diferente da chave ‘a’, mas as chaves “1″ e 1 são os mesmos. No entanto, a conversão só se aplica se uma chave string contém a representação tradicional decimal de um número, assim, por exemplo, a chave ’01′não é a mesma que a chave 1.

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*


Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam Protection by WP-SpamFree