我正在使用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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。