Obtener un arreglo sin valores duplicados

Buscando la forma mas simple de generar un arreglo a partir de otro, pero sin tomar en cuenta los valores repetidos de este ultimo, siempre me topaba con array_unique().

print_r(array_unique($orders));
Array
(
    [0] => 135
    [2] => 136
    [3] => 138
)

Que si bien es cierto, me devolvia un arreglo con valores unicos, aun me faltaba regenerar el indice(necesitaba que iniciara de 0 en incrementara en 1).

Al final, me tope con esta forma.

print_r(array_keys(array_count_values($orders)));

Donde $orders es un arreglo compuesto de la sgte. forma:

$orders = array('135', '135', '136', '138', '138', '138', '136');

Lo que sucede aqui, es que array_count_values($orders) me duvuelve un arreglo, con un indice, el cual sera cada valor encontrado en $orders y su correspondiente valor sera la cantidad de ocurriencias encontradas, es decir:

Array
(
    [135] => 2
    [136] => 2
    [138] => 3
)

Posteriormente, le paso este nuevo arreglo a array_keys(), quien me generara otro nuevo arreglo, con indice numerico, inicializado a partir de cero, que incrementara en 1, y su valor seria cada clave(indice) del arreglo pasado como paremetro (lo que realmente necesitaba).

Array
(
    [0] => 135
    [1] => 136
    [2] => 138
)

Este articulo fue publicado por: shakka

 -----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d? s: a-- C++ UL++++ P+ L++ 
E- W++ N++ o-- K- w-- 
O- M- V- PS PE-- Y-- PGP++ t+++ 
5++ X++ R !tv b++ DI+++ D+ 
G++ e++ h+ !r y** 
------END GEEK CODE BLOCK------
Ver artículos del autor (73)


About this entry