In php there are a few ways to create an array of unique values from an existing array. The simplest and most readable way to create an array of unique values as a developer is
array_unique, but this comes with some scalability problems as it's worst-case runtime becomes a hindrance as the array size grows.
The quickest way to achieve this is to use the
array_flip function built-in to PHP.
array_flip will swap the array values with their keys and since an array cannot have duplicate keys you will end up with a unique set of keys that correspond to the values of the original array. To retrieve these keys as values you can use the
array_keys function to retrieve your unique values.
array_keys are worst-case O(n) functions while array_unique has a worst-case of O(n log(n)).
$array = array(1, 2, 2, 3, 5, 8, 9, 1, 3); $unique = array_keys(array_flip($array));
In order for this to work the array values must be strings or integers. Essentially the array values must also be able to represent an array key.