php – 如何相应地对这些数组进行分组?
发布时间:2020-12-13 15:55:23 所属栏目:PHP教程 来源:网络整理
导读:我正在使用PDO运行带有2个连接的 mysql查询,这是我从数据库中获得的结果: Array([0] = Array ( [id] = 489 [cluster_id] = [label_value_id] = 4 [label_id] = 1 [int_value] = 40 )[1] = Array ( [id] = 489 [cluster_id] = [label_value_id] = 6 [label_i
我正在使用PDO运行带有2个连接的
mysql查询,这是我从数据库中获得的结果:
Array ( [0] => Array ( [id] => 489 [cluster_id] => [label_value_id] => 4 [label_id] => 1 [int_value] => 40 ) [1] => Array ( [id] => 489 [cluster_id] => [label_value_id] => 6 [label_id] => 2 [int_value] => 20 ) [2] => Array ( [id] => 489 [cluster_id] => [label_value_id] => 9 [label_id] => 3 [int_value] => 10 ) ) 这个想法是以后会有多个id,但为了简单起见,我现在只有1个id为489的条目. 我需要3个数组(连接的原因)是1个看起来像这样的数组,我想要一个基于label-value_id =>的子数组. int_value关系: Array ( [0] => Array ( [id] => 489 [cluster_id] => [label_value_id] => 4 [label_id] => 1 [int_value] => 40 [vector_data] => Array ( [4] => 40 [6] => 20 [9] => 10 ) ) ) 我宁愿在PHP而不是Query中完成这项工作,因为当我将它实现到实时应用程序中时,我无法控制查询. 任何帮助深表感谢! 解决方法
您可以使用另一个容器来收集共享相同ID的所有批次,使用其密钥进行传输.在初始化时,为该向量创建另一个容器,然后将它们按任何正常的数组值:
$result = array(); foreach($array as $values) { // initialization if(!isset($result[$values['id']])) { $result[$values['id']] = $values; } $result[$values['id']]['vector_data'][$values['label_value_id']] = $values['int_value']; } // $result = array_values($result); // optional key reindex Sample Output (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |