Pessoal,
Independente do seu nível como programador, vou publicar um pequeno código que foi muito útil pra mim ontem. Este foi desenvolvido por um grande amigo, Felipe Pena.
O objetivo é pegar todos os valores de um array multi-dimensional sem repetí-los.
No PHP temos a função array_unique(), porém esta só funciona em single arrays..
Exemplo Single array: $minha_array[0] = 10;
Exemplo Multi-dimentional array: $minha_array[0][0] = 10;
Ou seja, todo o dataset do sc_lookup é um array multi-dimensional.
Exemplo prático de como usar a função que estou falando:
- sc_lookup(dataset,"select id_cotacao, id_forn1, id_forn2, id_forn3 from cotacoes where id_cotacao = {id_cotacao}");
- $a = {dataset};
- $tmp = array();
- for ($i = 0; $i < count($a); $i++) {
- $a[$i] = array_unique($a[$i]);
- if ($i > 0) {
- $tmp2 = array();
- foreach ($a[$i] as $k => $v) {
- if (!in_array($v, $tmp, true)) {
- $tmp2[$k] = $v;
- }
- }
- $a[$i] = $tmp2;
- }
- $tmp = array_merge($a[$i], $tmp);
- }
- unset($tmp, $tmp2);
- print_r($a);
Tudo isso acima faz a mesma função do array_unique (http://br2.php.net/manual/pt_BR/function.array-unique.php) só que não apenas para Single Array, mas sim para qualquer tipo.
Espero que você possa usar em algum momento.
[]'s
GuilhermeonQuinta 02 Outubro 2008 - 13:47:05

Comentário(s):0 |
TrackBacks:0 Não há trackbacks para esta notícia.