繁体   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