PHP拆分和组数组

PHP拆分和组数组,php,arrays,key,key-value,Php,Arrays,Key,Key Value,我很难弄清楚如何修改我的数组。原来的数组是这个 $array = array( array( "fruit" => "pineapple", "id" => "aaa", ), array( "fruit" => "orange", "id" => "aaa", ), array( "fruit" => "apple", "id" => "bbb", ), array( "fruit" => "pe

我很难弄清楚如何修改我的数组。原来的数组是这个

$array = array(
array(
    "fruit" => "pineapple",
    "id" => "aaa",
),
array(
    "fruit" => "orange",
    "id" => "aaa",
),
array(
    "fruit" => "apple",
    "id" => "bbb",
),
array(
    "fruit" => "pear",
    "id" => "bbb",
),
array(
    "fruit" => "peach",
    "id" => "ccc",
),
array(
    "fruit" => "melon",
    "id" => "ccc",
)
);
我需要将这个数组转换成一个按id的键数组。例如,我希望最终结果如下所示

$array = array(
"aaa" => array("pineapple", "orange"),
"bbb" => array("apple", "pear"),
"ccc" => array("peach", "melon"),
);

我曾尝试在阵列中循环,取出我需要的东西并重建阵列,但我想不出来。希望有人能帮助我。谢谢

您可以通过以下方式创建一个新数组来实现:

$array = array(
    array(
        "fruit" => "pineapple",
        "id" => "aaa",
    ),
    array(
        "fruit" => "orange",
        "id" => "aaa",
    ),
    array(
        "fruit" => "apple",
        "id" => "bbb",
    ),
    array(
        "fruit" => "pear",
        "id" => "bbb",
    ),
    array(
        "fruit" => "peach",
        "id" => "ccc",
    ),
    array(
        "fruit" => "melon",
        "id" => "ccc",
    )
);

// empty array
$result = [];

// loop trough data
foreach($array as $value){

    // add item to the $result array. Then make the id the key and the fruit the value
    $result[$value['id']][] = $value['fruit'];

}

//print array
print_r($result);
结果将是

Array ( [aaa] => Array ( [0] => pineapple [1] => orange ) [bbb] => Array ( [0] => apple [1] => pear ) [ccc] => Array ( [0] => peach [1] => melon ) )

愚蠢的方式!无缘无故地绕圈子