
-----------------------------------
HelloWorld
Mon Mar 23, 2009 1:54 am

Remove duplicate values from an array?
-----------------------------------
I just started learning PHP, and I've been having lots of fun. I made a little tool for myself that works great, but I want to improve it. My tool does a search, and returns results in an array. Sometimes there can be duplicates in the results, how can I remove those from the array?

Here is what I mean:

Array
)
   [0] => blue
   [1] => red
   [2] => orange
   [3] => green
   [4] => orange
   [5] => red
   [6] => yellow
)

I want to remove the repeats. So in the end it will be:

Array
)
   [0] => blue
   [1] => red
   [2] => orange
   [3] => green
   [4] => yellow
)

Thanks :).

-----------------------------------
btiffin
Mon Mar 23, 2009 11:22 am

RE:Remove duplicate values from an array?
-----------------------------------
Look at array_unique

Cheers

-----------------------------------
A.J
Mon Mar 23, 2009 11:30 am

RE:Remove duplicate values from an array?
-----------------------------------
array_unique or try hashing the values. maybe store the colors as numbers.

-----------------------------------
HelloWorld
Mon Mar 23, 2009 2:40 pm

RE:Remove duplicate values from an array?
-----------------------------------
Great. Thanks for the help. :)

-----------------------------------
DanielG
Sat Mar 28, 2009 7:52 pm

RE:Remove duplicate values from an array?
-----------------------------------
if your arrays are tiny, you can always just compare EVERY value with EVERY value before it to see if there is a repeat.

-----------------------------------
Analysis Mode
Sat Mar 28, 2009 8:26 pm

Re: Remove duplicate values from an array?
-----------------------------------
Why don't you sort them?  That way, you can delete duplicates in O(N) time and not O(N^2) time.

-----------------------------------
DemonWasp
Sat Mar 28, 2009 8:36 pm

RE:Remove duplicate values from an array?
-----------------------------------
...or you could insert all the values into some sort of Set object (preferably the PHP equivalent of a HashSet), which would do it all in O ( N ) time - whereas sorting first requires O ( N * log ( N ) ) time.
