php array_unique not working as expected

array-unique, php

Solution

Reason for `$uniques` output is

 Array
(
    [0] => 1
    [1] => 5
    [2] => 2
    [3] => 6
    [4] => 3
    [6] => 7
)

Your array doesn't contain key `5`, but in your `for` loop `echo $uniques[$i];` not hold the value of `echo $uniques[5];`. that is the reason value `7` is missing.

Try this,

foreach($uniques as $unique){
   echo $unique;
}

instead of

 for($i = 0; $i < count($uniques); $i++)

OR, you can re-index the array using `array_values($uniques)` and use,

  $uniques = array_values($uniques);
  for($i = 0; $i < count($uniques); $i++)
   echo $uniques[$i];

Problem

I am trying to learn how to use array_unique, so I made some sample code and I didn't get what I expected. ``` $array[0] = 1; $array[1] = 5; $array[2] = 2; $array[3] = 6; $array[4] = 3; $array[5] = 3; $array[6] = 7; $uniques = array_unique($array, SORT_REGULAR); for($i = 0; $i < count($uniques); $i++) echo $uniques[$i]; ``` For example this gives me the output of '15263' but not 7. After a few test I think that it stops looking after it finds the first duplicate. Is that what is supposed to happen?

Original source