У меня есть следующий массив, и мне нужно отсортировать этот массив на основе значения ключа. Я написал код и получил отличный результат, если все цифровые клавиши отличаются.
$myarray_need_to_sort =Array ( [13] => 214 [14] => 215 [15] => 216 [21] => 223 )
Вот мой код
$order = array(); foreach ($myarray_need_to_sort as $value){ $cat = Mage::getModel('catalog/category')->load($value); $order[$cat->getTabOrder()] = $value; } ksort($order); $sorted_order = array(); foreach ($order as $key=>$value) { $sorted_order[$key] = $value; } print_r($sorted_order);
$ cat-> getTabOrder () – это порядок сортировки, который я получаю от бэкэнд, и результат является идеальным
Array ( [1] => 216 [2] => 223 [3] => 215 [4] => 214 )
Код сортирует массив отлично, но проблема в том, что если тот же ключ существует, то есть кто-то добавил $ cat-> getTabOrder (), то сказать 2 и 2 для двух значений, то он удаляет один ключ. Мне нужно добавить один приращение для этого, как
Array ( [1] => 216 [2] => 223 [2] => 215 -- it should be 3 and 4 should be 5 but it is removing 2 from here [4] => 214 -- should be 5 )