Como remover elementos duplicados num array em PHP

Nota: Ainda estou a tentar descobrir uma forma de inserir caracteres especiais do html num post WordPress. Espero que isto não atrapalhe muito este post. Quem conhecer um método, favor deixar nos comentários.

Passei as últimas horas me divertindo com códigos PHP. Entre problemas e soluções, deu para aprender muita coisa nova, e me estressar muito com coisas pequenas que simplesmente insistiam em me fazer companhia! Entre as coisas novas que aprendi, estão a optimização de arrays em PHP. Eu precisava, por vários motivos, de remover todos os elementos duplicados de um array. O Problema: Como fazer isso? A solução: Este artigo!Depois de uma pesquisa, descobri que PHP é uma linguagem preparada para tudo, e já possui uma função que remove dados duplicados de um array. A função é array_unique(). Veja como funciona, no exemplo abaixo:

<?php$meu_array=array("a","b","c","a","a","d");$novo_array=array_unique($meu_array);print_r($meu_array);print_r($novo_array);?>

O resultado da execução deste script será:

Array (     [0] => a     [1] => b     [2] => c     [3] => a     [4] => a     [5] => d )Array (     [0] => a     [1] => b     [2] => c     [5] => d )

Aqui, o $novo_array é composto pelos elementos de $meu_array, sem repetir elementos duplicados. Realmente simples!!Um detalhe, é que o array_unique() só funciona para arrays unidimensionais. Se quiser remover filas duplicadas de um array multidimensional, terá de fazer algumas acrobacias, mas não é tão impossível assim.Outro detalhe que deve ter ficado claro aqui, é que o array_unique() conserva os índices dos elementos do array. Veja por exemplo, o valor “d”, estava na posição 5 no array original, e no novo array continua na posição 5, mesmo havendo espaços vazios nas posições anteriores.

Receba nossas actualizações por email

Ver Campanhas anteriores.

(Visited 255 times, 1 visits today)
Share