我想用键将数组元素移动到数组的其他位置。
我的实际阵列
Array
(
[24] => Birthday
[25] => Christmas
[26] => Congratulations
[27] => Halloween
[28] => Mothers Day
)我想像下面这样移动[25] => Christmas元素。
Array
(
[24] => Birthday
[26] => Congratulations
[27] => Halloween
[25] => Christmas
[28] => Mothers Day
)发布于 2015-01-28 12:31:02
在ide1上直播:http://ideone.com/yJ1e3N
使用uasort保持键值关联,同时使用闭包使用自定义逻辑进行排序:
$order = [
'Birthday' => 1,
'Congratulations' => 2,
'Halloween' => 3,
'Christmas' => 4,
'Mothers Day' => 5
];
uasort($array, function($a,$b) use ($order){
return $order[$a] > $order[$b];
});使用此脚本,您可以通过为数组$order分配正确的值来使用所需的任何自定义顺序逻辑。如果您有许多元素,使用key数组的$order s(而不是线性扫描)访问正确的顺序,这也会非常快。
发布于 2015-01-28 12:35:30
如果要从表中获取数据,可以将另一列添加为order_column,并在该列中指定顺序。然后修改select查询,以便通过order_column订购。
https://stackoverflow.com/questions/28192198
复制相似问题