Page 1 of 1

Array_unique - how-to get first item value in repeated array

Posted: Tue Oct 30, 2007 5:57 am
by mapg
Hi everybody,

I would like to know how-to get the first value of repeated items too in an array using something like array_unique.

With array_unique I get the last one in the list as here ...

Code: Select all

<?php
$array_test = array('111' => 'first one', '111' => 'middle one', '111' => 'last one', '222' => 'first one', '222' => 'last one', '333' => 'first one', '444' => 'first one');

$array_test = array_intersect($array_test, array_unique($array_test));

echo '<pre>';
print_r($array_test);
echo '</pre>';
?>
This will print ...
Array
(
[111] => last one
[222] => last one
[333] => first one
[444] => first one
)
... and I would like to print ...
Array
(
[111] => first one
[222] => first one
[333] => first one
[444] => first one
)
Is there some way to get that array_unique works like that or some other way to remove duplicated items but getting its first value not the last?

Thank you very much in advance. This issue is important for me.

Mapg

Posted: Tue Oct 30, 2007 6:06 am
by Chris Corbyn
I'm not sure what you've done there but you cannot have the same key multiple times in an array so your code doesn't really make any sense ;)

array_unique() works on the value in the array, not the key since keys are by definition unique.

Posted: Tue Oct 30, 2007 6:31 am
by mapg
Thank you for your help

Best,

Mapg