Во-первых, вы должны вызывать его перед циклом, поскольку его нужно отфильтровать только один раз.
Во-вторых, ключи сохраняются при использовании array_unique()
, поэтому PHP пытается циклически перебрать уже не существующие индексы в вашем массиве и может пропустить некоторые из них в конце, так как count($merchant_array)
теперь возвращает меньшее значение. Вам необходимо сначала сбросить настройки клавиш (используя array_values()
), а затем выполнить цикл.
$merchant_array = array_values(array_unique($merchant_array));
for($i = 0; $i<count($merchant_array); $i++)
{
echo $merchant_array[$i] . '<br />';
}
Либо используйте цикл foreach, чтобы пропустить вызов array_values()
:
$merchant_array = array_unique($merchant_array);
foreach ($merchant_array as $merchant) {
echo $merchant . '<br />';
}