【发布时间】:2014-04-01 10:06:52
【问题描述】:
按其键值(asc 或 desc)之一对多维数组进行排序的请求次数过多。 但我没有找到任何解决方案来解决我的问题,您必须按预定义的自定义顺序按其键值之一对多维数组进行排序。
以数组为例
$array[0] = array('id'=> '111', value=>'abc');
$array[1] = array('id'=> '100', value=>'abc');
$array[2] = array('id'=> '132', value=>'abc');
$array[3] = array('id'=> '222', value=>'abc');
$array[4] = array('id'=> '112', value=>'abc');
$array[5] = array('id'=> '200', value=>'abc');
并按照下面数组中定义的顺序按子键“id”对该数组进行排序:
$sort_order_id = array('112','111','132','100');
所以结果是
$array[0] = array('id'=> '112', value=>'abc');
$array[1] = array('id'=> '111', value=>'abc');
$array[2] = array('id'=> '132', value=>'abc');
$array[3] = array('id'=> '100', value=>'abc');
$array[4] = array('id'=> '222', value=>'abc');
$array[5] = array('id'=> '200', value=>'abc');
注意:如果某些 id 在 $sort_order_id 数组中不可用,请将它们放在最后(如上例中,id 222 和 200 不在 $sort_order_id 数组中,因此它按照之前的顺序排在最后顺序)
我尝试了很多,但无法为此创建算法...我希望有人能帮助我...
【问题讨论】:
-
你试过我的答案了吗?
-
为什么要投反对票?请解释...这个问题以前从未在任何社区提出过
-
@SatishSharma ,上面的问题略有不同,因为如果子键 id 不在排序顺序中,它就不会处理。正确阅读我的问题。
标签: php arrays sorting multidimensional-array