一、如果数据存储于 MySQL 数据库
方法1. 直接使用 ORDER BY 实现 :
SELECT * FROM `infos` ORDER BY id IN (4,5) DESC;
方式2. 通过 UNION 联合查询实现
SELECT * FROM `infos` WHERE id in (4,5)
UNION
SELECT * FROM `infos` WHERE id not in (4,5)
结果:
二、如果数据存储于普通数组中
<?php
# 测试数据
$top_ids = [4, 5];
$infos = [
["id" => 1, "info" => "..."],
["id" => 2, "info" => "..."],
["id" => 3, "info" => "..."],
["id" => 4, "info" => "..."],
["id" => 5, "info" &