我有一个以下数组,我需要根据键值对该数组进行排序。如果所有数字键都不同,我写了一个代码并得到了完美的结果。
$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
)