php 二维数组排序

查看:106
本文介绍了php 二维数组排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题


上面的是一个数组 然后下面的是个二维数组 根据上面排序的方式 排序下面的 有什么好的解决方法?

解决方案

千里码群里问了又到这来?

话说下次能贴数组的json数据吗? 放个github也行啊

demo:https://3v4l.org/D6buv

$order = [465, 472, 442, 410, 396, 395, 297, 364, 355, 221];
$products = array(
    array(
        '_id' => '57208ea27f8b9a5e048b4598',
        'topic_id' => 472,
        'host_pic' => '/topic',
        'topic_name' => 'goods 1',
        'template' => 4
    ),
    array(
        '_id' => '57208ea27f8b9a5e048b4598',
        'topic_id' => 410,
        'host_pic' => '/topic',
        'topic_name' => 'goods 2',
        'template' => 2
    ),
    array(
        '_id' => '57208ea27f8b9a5e048b4598',
        'topic_id' => 465,
        'host_pic' => '/topic',
        'topic_name' => 'goods 3',
        'template' => 1
    ),
    array(
        '_id' => '57208ea27f8b9a5e048b4598',
        'topic_id' => 396,
        'host_pic' => '/topic',
        'topic_name' => 'goods 4',
        'template' => 4
    )
);
$column = array_flip(array_column($products, 'topic_id'));
$_products = [];
foreach ($order as $row) {
    if (! empty($column[$row])) {
        $_products[] = $products[$column[$row]];
    }
}
print_r($_products);

这篇关于php 二维数组排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆