Как получить уникальные значения из массива

Текущий код -

<?php
$arrunsort = array('ab','ad','ar','cd','cb','sc','si','wa','za');
$prevLabel = array();
$currLabelarr = array();
foreach( $arrunsort as $sortelem )
{
    $currLabel = substr($sortelem, 0, 1);
    if( $currLabel !== $prevLabel )
    {
        $currLabelarr[] = $currLabel;
        $prevLabel[] = $currLabel;
    }
}
echo "<pre>";
print_r($currLabelarr);

Выход-

Array
(
    [0] => a
    [1] => a
    [2] => a
    [3] => c
    [4] => c
    [5] => s
    [6] => s
    [7] => w
    [8] => z
)

Мой ожидаемый вывод из кода -

Array
(
    [0] => a
    [1] => c
    [2] => s
    [3] => w
    [4] => z
)

Я знаю, что могу использовать array_unique() с этим массивом, но как мне управлять этим из приведенного выше кода, так как вывод из array_unique выглядит не слишком хорошо.

вывод из print_r(array_unique($currLabelarr));

Array
(
    [0] => a
    [3] => c
    [5] => s
    [7] => w
    [8] => z
)

3 ответа

Использовать array_values

print_r(array_values(array_unique($currLabelarr)));

Выход

Array
(
[0] => a
[1] => c
[2] => s
[3] => w
[4] => z
)

Просто

print_r(array_unique($currLabelarr));

Вы можете применить array_values ​​для печати уникального массива на основе значений

print_r(array_values(array_unique($currLabelarr)));

Просто поменяй -

$prevLabel[] = $currLabel;

к

$prevLabel = $currLabel;

выход -

Array
(
    [0] => a
    [1] => c
    [2] => s
    [3] => w
    [4] => z
)
Другие вопросы по тегам