Как получить уникальные значения из массива
Текущий код -
<?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
)