84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
上面的是一个数组 然后下面的是个二维数组 根据上面排序的方式 排序下面的 有什么好的解决方法?
欢迎选择我的课程,让我们一起见证您的进步~~
千里码群里问了又到这来?
话说下次能贴数组的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; } } }
千里码群里问了又到这来?
话说下次能贴数组的json数据吗? 放个github也行啊
demo:https://3v4l.org/D6buv
ls的代码中
! empty
改成isset
,否则$product[0]
做不了排序另外如果
topic_id
有重复的话,重复的元素不会在新书组中所以还是写两个
foreach
吧