Array’s podemos dizer que são tabelas temporárias que armazenam qualquer tipo de informação, como também podemos dizer que são árvores de informação dependendo do formato que for criado.
Não cheguei a fazer uma pesquisa, mas de todas empresas que tive acesso, constatei que são dois padrões mais utilizados nos array’s, um deles chamo de árvore e o outro ainda não dei um nome =D
Árvore:
<?php
$vetor[1]['nome'] = “Andrey Pedro Lefkum”;
$vetor[1]['sitePessoal'] = “http://www.andrey.com.br”;
$vetor[1]['diaDisponibilidade'][1] = “terça-feira”;
$vetor[1]['diaDisponibilidade'][2] = “quinta-feira”;
$vetor[2]['nome'] = “Eliton José da Silva”;
$vetor[2]['sitePessoal'] = “http://www.eliton.eti.br”;
$vetor[2]['diaDisponibilidade'][1] = “segunda-feira”;
$vetor[2]['diaDisponibilidade'][2] = “quinta-feira”;
$vetor[3]['nome'] = “Filipe M…”;
$vetor[3]['sitePessoal'] = “http://www.tecnoabil.com.br”;
$vetor[3]['diaDisponibilidade'][1] = “quarta-feira”;
$vetor[3]['diaDisponibilidade'][2] = “quinta-feira”;
/*
Utilizaremos o print_r para ver qual será o resultado da impressão desse array…
*/
print_r($vetor);
?>
O Resultado
Array
(
[1] => Array
(
[nome] => Andrey Pedro Lefkum
[sitePessoal] => http://www.andrey.com.br
[diaDisponibilidade] => Array
(
[1] => terça-feira
[2] => sexta-feira
)
)
[2] => Array
(
[nome] => Eliton José da Silva
[sitePessoal] => http://www.eliton.eti.br
[diaDisponibilidade] => Array
(
[1] => segunda-feira
[2] => sexta-feira
)
)
[3] => Array
(
[nome] => Filipe M…
[sitePessoal] => http://www.tecnoabil.com.br
[diaDisponibilidade] => Array
(
[1] => quarta-feira
[2] => sábado
)
)
)
Perceba que começa com um código e vai abrindo o array como se fosse uma árvore.
Agora vamos ver o outro tipo de array… aquele que ainda não dei um nome a ele:
Array sem Nome =D
<?php
$vetor['nome'][1] = “Andrey Pedro Lefkum”;
$vetor['sitePessoal'][1] = “http://www.andrey.com.br”;
$vetor['diaDisponibilidade'][1][1] = “ter軋-feira”;
$vetor['diaDisponibilidade'][1][2] = “quinta-feira”;
$vetor['nome'][2] = “Eliton Jos・da Silva”;
$vetor['sitePessoal'][2] = “http://www.eliton.eti.br”;
$vetor['diaDisponibilidade'][2][1] = “segunda-feira”;
$vetor['diaDisponibilidade'][2][2] = “quinta-feira”;
$vetor['nome'][3] = “Filipe M…”;
$vetor['sitePessoal'][3] = “http://www.tecnoabil.com.br”;
$vetor['diaDisponibilidade'][3][1] = “quarta-feira”;
$vetor['diaDisponibilidade'][3][2] = “quinta-feira”;
print_r($vetor);
?>
O Resultado
Array
(
[nome] => Array
(
[1] => Andrey Pedro Lefkum
[2] => Eliton José da Silva
[3] => Filipe M…
)
[sitePessoal] => Array
(
[1] => http://www.andrey.com.br
[2] => http://www.eliton.eti.br
[3] => http://www.tecnoabil.com.br
)
[diaDisponibilidade] => Array
(
[1] => Array
(
[1] => terça-feira
[2] => quinta-feira
[3] => sexta-feira
)
[2] => Array
(
[1] => segunda-feira
[2] => quinta-feira
[3] => sexta-feira
)
[3] => Array
(
[1] => quarta-feira
[2] => quinta-feira
[3] => sábado
)
)
)
Perceba que o segundo tipo de array cria um grupo para cada tipo de item: Nome, Site Pessoal, a Disponibilidade de todos fica armazenada em um grande grupo, porém as duas estão organizadas e darão o mesmo resultado.
Mas qual devo usar?
O Array “árvore” é ótimo para visualização, pois, quando utilizamos a função nativa do PHP “print_r”, dará uma visão mais clara do que temos no array, ou seja, tudo que é pertinente aquele usuário está agrupado, já no outro formato de array o agrupamento é pelo tipo de informação.
Porém um dos grandes problemas do array em “árvore” é ordenação… Caso queira ordenar esse vetor, será um parto… A função que você provavelmente utilizará será “array_mulltisort()”:
http://br2.php.net/manual/pt_BR/function.array-multisort.php
Porque a ordenação é diferente nos dois tipos de uso de array?
Como no segundo array as informações estão agrupadas por tipo… Esquece… vamos fazer uma analogia ao problema:
Temos 30 fitas, 50 DVDs, 15 revistas, 45 Jornais…
Ta, agora ordene todos as publicações por titulo…
Vai ser difícil, porém não impossível…
Agora, seu chefe diz:
- Olhe, temos 4 colunas de publicações, uma com fitas, outra com DVD’s, revistas e por último jornais, agora em cada coluna quero que ordene por título, será com certeza bem mais fácil!
E é assim que acontece quando tentará ordenar os dois tipos de array, então cabe a você nobre programador anti social =D “Por que falam isso dos programadores? =D” ter o bom senso de escolher o melhor para sua aplicação!
É isso ae!
Espero que esse artigo sirva para alguma coisa
Até mais!