合并类似的数组,PHP或MySQL
发布时间:2020-12-13 16:53:56 所属栏目:PHP教程 来源:网络整理
导读:所以我根据我做的一个查询得到了这个数组: array(5) { [1] = array(5) { ["user_id"] = int(659) ["auth_id"] = string(28) "uhhuhhoney" ["username"] = string(10) "MarkH" ["avatar_date"] = int(1374525025) ["gravatar"] = string(0) "" } [2] = array
所以我根据我做的一个查询得到了这个数组:
array(5) { [1] => array(5) { ["user_id"] => int(659) ["auth_id"] => string(28) "uhhuhhoney" ["username"] => string(10) "MarkH" ["avatar_date"] => int(1374525025) ["gravatar"] => string(0) "" } [2] => array(5) { ["user_id"] => int(326) ["auth_id"] => string(9) "rabits" ["username"] => string(9) "HankHill" ["avatar_date"] => int(1398866942) ["gravatar"] => string(0) "" } [3] => array(5) { ["user_id"] => int(326) ["auth_id"] => string(28) "identity_iml" ["username"] => string(9) "HankHill" ["avatar_date"] => int(1398866942) ["gravatar"] => string(0) "" } [4] => array(5) { ["user_id"] => int(1) ["auth_id"] => string(28) "barney" ["username"] => string(12) "Alice" ["avatar_date"] => int(1407362848) ["gravatar"] => string(0) "" } [5] => array(5) { ["user_id"] => int(1) ["auth_id"] => string(28) "a65s564sfad56654fsad" ["username"] => string(12) "Alice" ["avatar_date"] => int(1407362848) ["gravatar"] => string(0) "" } } 我希望能够组合具有相同user_id的任何条目,这最终将组合数组键’auth_id’.现在我有点困惑,如果它可以通过MySQL或PHP. 我尝试使用GROUP_CONCAT函数尝试通过MySQL组合类似,但它只是将每个auth_id合并为一行. 查询如下: SELECT mumble.*,user.username,user.avatar_date,user.gravatar,GROUP_CONCAT(mumble.auth_id) FROM xf_mumble AS mumble LEFT JOIN xf_user AS user ON (user.user_id = mumble.user_id) ORDER BY mumble.user_id DESC,user.username 如果不可能通过MySQL,那我怎么能通过PHP有效地做到这一点,因为我想不出一个好的方法来做到这一点.我在想以下几点: $results = array(); for (new $i = 0,$i < sizeof($query),$i++) { if (array_key_exists($query[$i - 1]) && $query[$i - 1]['user_id'] = $query[$i]['user_id']) { $results[$i]['auth_id'][] = $query[$i]['auth_id']; } } 谢谢! 解决方法
您的查询需要一个组:
SELECT mumble.*,GROUP_CONCAT(mumble.auth_id) FROM xf_mumble AS mumble LEFT JOIN xf_user AS user ON (user.user_id = mumble.user_id) GROUP BY mumble.user_id,user.username ORDER BY mumble.user_id DESC,user.username (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |