[英]how to sort query result in php?
我正在嘗試將查詢結果排序到數組中。
我有以下查詢。
"select s.*, a.* from students left join addresses as a";
它返回
s.id
s.name
a.id
a.student_id
a.address
我想將上面的結果做成一個帶有s和一個鍵的數組。
array(
"s"=>array("id"=>"value","name"=>"value")
,"a"=>array("id"=>"value","student_id"=>"value","address"=>"value)
)
我必須自己編寫函數才能執行此操作,還是有內部函數?
如果除了查詢結果中無法在PHP中識別該表以外,您必須自己做。 您只會得到列名稱。
另外: 在您當前的代碼中,如果您選擇行作為關聯數組,我相信s.id將被a.id覆蓋。
現在,介紹一種可能的方法...
如何返回結果的一方面是您丟失了列所在的表。 如果您發現自己想對結果集進行后處理,則可以通過如下重命名來對每列進行別名:
$query = "SELECT
s.id AS s_id
s.name AS s_name
a.id AS a_id
a.student_id AS a_student_id
a.address AS a_address
... ";
一旦有了,就可以基於substr($ key,0,1)整理數據,並獲得帶有substr($ key,2)的“基礎列名稱”。
一旦有了它們,就可以在每一行中循環以創建要使用的數據結構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.