赞助年度的PHP数组分组
我正在尝试生成一个分组数组 这是我的密码:赞助年度的PHP数组分组,php,arrays,multidimensional-array,associative-array,Php,Arrays,Multidimensional Array,Associative Array,我正在尝试生成一个分组数组 这是我的密码: function group_assoc($array, $key) { $return = array(); foreach($array as $v) { $return[$v[$key]][] = $v; } return $return; } 以下是电流输出: Array ( [2007] => Array ( [0] => Array ( [
function group_assoc($array, $key) {
$return = array();
foreach($array as $v) {
$return[$v[$key]][] = $v;
}
return $return;
}
以下是电流输出:
Array
(
[2007] => Array
(
[0] => Array
(
[sponsorID] => 4
[showType] => 2
[categoryID] => 3
[sponYear] => 2007
[sponName] => asdasd
[sponFileName] => design-desktop-wallpaper-2114754569.jpg
)
)
[2013] => Array
(
[0] => Array
(
[sponsorID] => 2
[showType] => 1
[categoryID] => 6
[sponYear] => 2013
[sponName] => Test Sponsor
[sponFileName] => Jellyfish.jpg
)
[1] => Array
(
[sponsorID] => 3
[showType] => 2
[categoryID] => 1
[sponYear] => 2013
[sponName] => asdads
[sponFileName] => Jellyfish.jpg
)
)
)
我怎样才能做这样的事情:
Array
(
[0] =>
[sponYear] => '2013'
Array
(
[0] => Array
(
[sponsorID] => 4
[showType] => 2
[categoryID] => 3
[sponYear] => 2007
[sponName] => asdasd
[sponFileName] => design-desktop-wallpaper-2114754569.jpg
)
)
[1] =>
[sponYear] => '2007'
Array
(
[0] => Array
(
[sponsorID] => 2
[showType] => 1
[categoryID] => 6
[sponYear] => 2013
[sponName] => Test Sponsor
[sponFileName] => Jellyfish.jpg
)
[1] => Array
(
[sponsorID] => 3
[showType] => 2
[categoryID] => 1
[sponYear] => 2013
[sponName] => asdads
[sponFileName] => Jellyfish.jpg
)
)
)
因此,当我运行初始循环进行显示时,我能够显示“赞助年”?我猜您每年的阵列都是赞助商。因此,您的功能将是:
function group_assoc($array, $key) {
$return = array(
'sponYear' => $key,
'sponsors' => array()
);
foreach($array as $v) {
$return['sponsors'][] = $v;
}
return $return;
}
通过更改使用当前输出的foreach循环,可以按原样使用当前输出
foreach (group_assoc($input_array, $my_key) as $year => $sponsors) {
foreach ($sponsors as $sponsor) {
// Do stuff with $sponsor['sponName'] etc.
}
}
您的预期输出格式不正确。你能给出你想要的更好的预期输出吗?对不起,你刚刚把它转换回了原来的arraymuch,没有想到这样做,但是非常感谢!