84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
上面的是一个数组 然后下面的是个二维数组 根据上面排序的方式 排序下面的 有什么好的解决方法?
欢迎选择我的课程,让我们一起见证您的进步~~
千里码群里问了又到这来?
话说下次能贴数组的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
吧