簡體   English   中英

如何排序查詢結果在PHP?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM