php从数据库中选取ID在数组中存在的记录,并按数组中的顺序排列?该如何处理
mysql
quot
unset
php从数据库中选取ID在数组中存在的记录,并按数组中的顺序排列?
比如$arr={"5","7",1"","10","3","8"},要从数据库中选取ID值为5,7,1,10,3,8的记录,并且按这个顺序排列。
------解决方案--------------------
- SQL code
SELECT * FROM table WHERE id IN(5,7,1,10,3,8) ORDER BY FIND_IN_SET(id,'5,7,1,10,3,8');<br><font color="#e78608">------解决方案--------------------</font><br>//我的测试结果显示PHP排序速度优于MySQL排序速度,刷新了NN次只有1次是PHP慢过MySQL的,请大家也测试一下吧<br><br><?php <br>//date_default_timezone_set('Asia/Shanghai');? <br>$link = mysql_connect('localhost','root');<br>mysql_select_db('test');<br><br>$timeS1 = microtime();<br>$sql = "SELECT * FROM `lean` WHERE id IN(5,7,1,10,3,8) ORDER BY FIND_IN_SET(id,'5,7,1,10,3,8')";<br>//for($i = 1, $i $result = mysql_query($sql);<br> while($row = mysql_fetch_array($result))<br> {<br> <br> }<br>//}<br>$timeE1 = microtime();<br>echo '由数据库自行处理的起止时差为: '.($timeE1 - $timeS1).'<br>';<br><br>//释放译一下php的内存先,免得因为前面的变量影响了效率<br>unset($timeS1);<br>unset($timeS2);<br>unset($link); //已经自动设定了活动数据库了,当前调试不用传递这个,所以把它也释放了吧<br>unset($sql);<br>unset($result);<br>unset($row);<br><br><br><br>//////////////////////<br>$timeS2 = microtime();<br>$sql = "SELECT * FROM `lean` WHERE id IN(5,7,1,10,3,8)";<br>$result = mysql_query($sql);<br>$data = array();<br>$i = 0;<br>while($row = mysql_fetch_array($result))<br>{<br> $data[$row['id']] = $row;<br> $i++;<br>}<br><br>$r = sortdata($data, array(5,7,1,10,3,8));<br><br>$timeE2 = microtime();<br>echo '由PHP处理的起止时差为: '.($timeE2 - $timeS2);<br><br>echo '<pre class="brush:php;toolbar:false">排序结果<br>';<br>print_r($r);<br>echo '
登入後複製
//排序函数
function sortdata($arr,$order){
$r = array();
$i = 0;
foreach($arr as $key => $value){
$r[$order[$i]] = $value;
$i++;
}
return $r;
}
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤
