php数组值如何根据另一个数组的值进行排序 10

$a=array(array('id'=>3,'status'=>10),array('id'=>4,'status'=>11),array('id'=>5,'statu... $a=array(array('id'=>3,'status'=>10),array('id'=>4,'status'=>11),array('id'=>5,'status'=>30),array('id'=>6,'status'=>100),array('id'=>7,'status'=>20));
$b=array(100,10,20,21,11,30);
数组$a里status根据$b值的顺序进行排序,期望如下
$a=array(array('id'=>6,'status'=>100),array('id'=>3,'status'=>10),array('id'=>7,'status'=>20),array('id'=>4,'status'=>11),array('id'=>5,'status'=>30));
展开
 我来答
沉浮人事
2017-04-18 · TA获得超过111个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:211万
展开全部
<?php
$a = array(
    array(
        'id' => 3,
        'status' => 10,
    ),
    array(
        'id' => 4,
        'status' => 11,
    ),
    array(
        'id' => 5,
        'status' => 30,
    ),
    array(
        'id' => 6,
        'status' => 100,
    ),
    array(
        'id' => 7,
        'status' => 20,
    ),
);
$b = array(100, 10, 20, 21, 11, 30);

print_r(sortByKey($a,$b));
function sortByKey($arr, $order)
{
    $newArr = array();
    foreach ($order as $item) {
        foreach ($arr as $val) {
            if ($val['status'] == $item) {
                $newArr[] = array(
                    'id' => $item,
                    'status' => $val['id']);
            }
        }
    }

    return $newArr;
}
Array
(
    [0] => Array
        (
            [id] => 100
            [status] => 6
        )

    [1] => Array
        (
            [id] => 10
            [status] => 3
        )

    [2] => Array
        (
            [id] => 20
            [status] => 7
        )

    [3] => Array
        (
            [id] => 11
            [status] => 4
        )

    [4] => Array
        (
            [id] => 30
            [status] => 5
        )

)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MylJ17
2017-04-18 · TA获得超过768个赞
知道小有建树答主
回答量:1031
采纳率:66%
帮助的人:314万
展开全部
usort()进行自定义排序,这个可以查手册
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式