Существует многомерный массив, где нужно сделать сортировку значений по алфавиту.
Массив залил на pastebin, тут не умещается.shopColorValue object нужно расставить в алфавитном порядке по значению поля
shopColorValuevalue => 'цвет'
Смог сократить многомерный массив в обычный:
foreach ( $filters as $filter ) {
//arsort($filter);
foreach ( $filter as $key => $value ) {
wa_dump($filter);
}
}
Выводит:
Array
(
id => '675'
parent_id => NULL
code => 'tsvet1'
status => 'public'
name => 'Цвет'
type => 'color'
selectable => '1'
multiple => '1'
count => '25'
values => Array
(
27 => shopColorValue object
{
shopColorValuecode => '0'
shopColorValuevalue => 'чёрный'
shopColorValueid => '27'
shopColorValuesort => '1'
shopColorValue_data => NULL
feature_id => '675'
}
34 => shopColorValue object
{
shopColorValuecode => '255'
shopColorValuevalue => 'синий'
shopColorValueid => '34'
shopColorValuesort => '9'
shopColorValue_data => NULL
feature_id => '675'
}
)
)
Как теперь сделать сортировку объектов по заданным значениям и вернуть все обратно в переменную
$filtersUPD
Сейчас код выглядит так:
public function sortirovka_filters($filters) {
function cmp_obj($a, $b):bool {
$al = strtolower($a->shopColorValuevalue);
$bl = strtolower($b->shopColorValuevalue);
if ($al == $bl) {
return 0;
}
return ($al > $bl) ? +1 : -1;
}
uasort($filters['675']['values'], "cmp_obj");
return $filters;
}
В дампе выдает это
https://pastebin.com/XbQyaZ3B