扫码关注官方订阅号
上面的是一个数组 然后下面的是个二维数组 根据上面排序的方式 排序下面的 有什么好的解决方法?
欢迎选择我的课程,让我们一起见证您的进步~~
千里码群里问了又到这来?
话说下次能贴数组的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);
ls的代码中! empty改成isset,否则$product[0]做不了排序另外如果topic_id有重复的话,重复的元素不会在新书组中所以还是写两个foreach吧
! empty
isset
$product[0]
topic_id
foreach
$tmp = []; foreach($order as $key=>$val) { foreach($products as $k=>$v) { if($v['topic_id'] == $val) { $tmp[] = $v; } } }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
千里码群里问了又到这来?
话说下次能贴数组的json数据吗? 放个github也行啊
demo:https://3v4l.org/D6buv
ls的代码中
! empty改成isset,否则$product[0]做不了排序另外如果
topic_id有重复的话,重复的元素不会在新书组中所以还是写两个
foreach吧