首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Php数组使用键值对将元素移动到其他位置

Php数组使用键值对将元素移动到其他位置
EN

Stack Overflow用户
提问于 2015-01-28 12:25:04
回答 2查看 155关注 0票数 2

我想用键将数组元素移动到数组的其他位置。

我的实际阵列

代码语言:javascript
复制
  Array
    (
        [24] => Birthday
        [25] => Christmas
        [26] => Congratulations
        [27] => Halloween
        [28] => Mothers Day
    )

我想像下面这样移动[25] => Christmas元素。

代码语言:javascript
复制
Array
    (
        [24] => Birthday  
        [26] => Congratulations
        [27] => Halloween
        [25] => Christmas
        [28] => Mothers Day         
    )
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-28 12:31:02

在ide1上直播:http://ideone.com/yJ1e3N

使用uasort保持键值关联,同时使用闭包使用自定义逻辑进行排序:

代码语言:javascript
复制
$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(而不是线性扫描)访问正确的顺序,这也会非常快。

票数 2
EN

Stack Overflow用户

发布于 2015-01-28 12:35:30

如果要从表中获取数据,可以将另一列添加为order_column,并在该列中指定顺序。然后修改select查询,以便通过order_column订购。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28192198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档