【发布时间】:2014-08-03 12:03:45
【问题描述】:
如果我有一张这样的表:
user | language
-----|---------
john | english
john | french
john | spanish
是否有可以运行的查询以便我返回:
["john"=>["english", "french", "spanish"]]
我试图避免做一些类似的事情:
$john->languages = array();
foreach($results as $row){
array_push($john->languages, $row["language"]);
}
【问题讨论】:
-
Mysql 不返回“数组”,可以这么说 - 它返回“行” - 出于所有意图和目的,它是一个“数组”,但没有办法获得包含的行其他行 - 或多维数组。你被困在使用 php 从 mysql 返回的一维行中创建一个多维数组。
-
@MarkM,这就是我害怕的。我正要这样做时,我想了一会儿,意识到它的效率非常低,希望有更好的方法。
-
我不认为这一切都那么低效 - 使用下面的 Fabricator 方法似乎很标准。但是,看看 Barmar 的回答——也许毕竟有办法……
标签: php mysql arrays multidimensional-array