在不使用循环的情况下,我如何 "chop" 将关联数组的数组分成单独的数组,按键分组?
Without using a loop, how can I "chop" an array of associative arrays into separate arrays, grouped by keys?
假设我有以下关联数组:
$MasterArr = array(
array("food" => "apple", "taste" => "sweet"),
array("food" => "lemon", "taste" => "sour"),
array("food" => "steak", "taste" => "meaty")
);
没有 使用 foreach
循环,有没有办法可以将它 "chop" 到 2 个不同的数组,它们的值来自相同的键,所以看起来像这样:
$FoodArr = array("apple","lemon","steak");
$TasteArr = array("sweet","sour","meaty");
您可以使用 array_column
:
$FoodArr = array_column($MasterArr, 'food');
$TasteArr = array_column($MasterArr, 'taste');
对于PHP < 5.5.0
,您可以使用array_map:
$FoodArr = array_map(function($v){ return $v['food']; }, $MasterArr);
$TasteArr = array_map(function($v){ return $v['taste']; }, $MasterArr);
假设我有以下关联数组:
$MasterArr = array(
array("food" => "apple", "taste" => "sweet"),
array("food" => "lemon", "taste" => "sour"),
array("food" => "steak", "taste" => "meaty")
);
没有 使用 foreach
循环,有没有办法可以将它 "chop" 到 2 个不同的数组,它们的值来自相同的键,所以看起来像这样:
$FoodArr = array("apple","lemon","steak");
$TasteArr = array("sweet","sour","meaty");
您可以使用 array_column
:
$FoodArr = array_column($MasterArr, 'food');
$TasteArr = array_column($MasterArr, 'taste');
对于PHP < 5.5.0
,您可以使用array_map:
$FoodArr = array_map(function($v){ return $v['food']; }, $MasterArr);
$TasteArr = array_map(function($v){ return $v['taste']; }, $MasterArr);