PHP 拆分和分组数组
PHP split and group array
我很难弄清楚如何修改我的数组。原数组是这样的...
$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",
)
);
我需要将这个数组转换为一个键数组。例如,我希望最终结果看起来像这样...
$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 ) )
我很难弄清楚如何修改我的数组。原数组是这样的...
$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",
)
);
我需要将这个数组转换为一个键数组。例如,我希望最终结果看起来像这样...
$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 ) )