-2

我在根据 id 组合值时遇到问题。

我有这样的数据:

Array(
     [0] => Array(
        [id] => 1,
        [id_name] => a
        [id_vales] => 5
     )
     [1] => Array(
        [id] => 1
        [id_name] => a
        [id_vales] => 4
     )
     [2] => Array(
        [id] => 3
        [id_name] => b
        [id_vales] => 4
    )
    [3] => Array(
        [id] => 3
        [id_name] => b
        [id_vales] => 3
    )
)

然后,我想[id_values]根据 id 组合,所以我可以在php中获取这样的数据

Array(
   [0] => Array(
      [id] => 1
      [id_name] => a
      [id_vales] => 5, 4
    )
    [1] => Array(
      [id] => 3
      [id_name] => b
      [id_vales] => 4, 3
    )
)
4

2 回答 2

1

您可以使用以下示例合并您的数组

<?php

$mainArray = array(array('id' => 1, 'id_name' => 'a', 'id_vales' => 5), 
      array('id' => 1,'id_name' => 'a','id_vales' => 4),
      array('id' => 3, 'id_name' => 'b','id_vales' => 4),
      array('id' => 3,'id_name' => 'b','id_vales' => 3)
);

$result = array();
$tempArray = array();
foreach($mainArray as $key => $value)
{
    if(isset($tempArray[$value['id']]))
    { 
        $tempArray[$value['id']] .= ", ".$value['id_vales'];
        $result[] = array('id' => $value['id'], 'id_name' => $value['id_name'], 'id_vales' => $tempArray[$value['id']]);
    }
    else
    {
        $tempArray[$value['id']] = "".$value['id_vales'];
    }
}
echo "<pre>";
print_r($result);
?>

您可以在此处找到运行示例https://paiza.io/projects/3sS3GXH7GHqoipH8k-YtBQ

输出:

Array
(
    [0] => Array
        (
            [id] => 1
            [id_name] => a
            [id_vales] => 5, 4
        )

    [1] => Array
        (
            [id] => 3
            [id_name] => b
            [id_vales] => 4, 3
        )

)
于 2019-11-28T04:26:32.880 回答
0

我为你创建了一个数组。从此数组中,您可以轻松创建数组并获得结果。

$data = array();
     foreach($array as $key=>$value){
            $data[$value['id']]['id'] = $value['id'];
            $data[$value['id']]['id_vales'][] = $value['id_vales'];
            $data[$value['id']]['id_name'] = $value['id_name'];

     }
于 2019-11-28T04:53:22.590 回答