PHP数组排序的问题
怪我咯
怪我咯 2017-04-10 16:50:15
[PHP讨论组]

有两个数组如下:

$aray1 = (
    'key3' => 'value3',
    'key2' => 'value2',
    'key1' => 'value1
);

$aray2 = ('key1', 'key3', 'key2');  //看清楚了,顺序不是123哦

请问php有没有内置的函数可以通过$array2将$array1排序成如下格式:

$aray1 = (
    'key1' => 'value1',
    'key3' => 'value3',
    'key2' => 'value2
);

我看了下array_multisort()的文档,但是好像不支持。

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(9)
阿神

貌似没有,array_multisort()主要是对多维数组排序

PHP中文网

用用户自定义排序函数usort(),不过还是要自己写

天蓬老师
foreach($array2 as $i => $key) {
    $result[$key] = $array1[$key];
}
var_dump($result);
PHP中文网
$data = array();

array_walk($aray2,function($value, $key) use($aray1, &$data){
    $data[$value] = $aray1[$value];    
});

print_r($data);
高洛峰

根据我的经验,是没有这样的内部函数的

天蓬老师

可以自己写一个方法

高洛峰

可以自己写一个方法

PHP中文网

自己写一个呗

伊谢尔伦

只有自己根据排序规则写一个了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号