PHP多维数组构建

PHP多维数组构建,php,arrays,Php,Arrays,我试图在一个循环中构建一个多维数组,但我不明白为什么这段代码不起作用 <?php $users = array(35,25,45,34,56,67); $months = array('smelly','stinky','chubby','grubby','nubby','funky'); foreach($users as $user){ $mdata[$user] = array(); foreach($months as $month){ arra

我试图在一个循环中构建一个多维数组,但我不明白为什么这段代码不起作用

<?php

$users = array(35,25,45,34,56,67);

$months = array('smelly','stinky','chubby','grubby','nubby','funky');

foreach($users as $user){

    $mdata[$user] = array();

    foreach($months as $month){

    array_push($mdata[$user][],$month);

    }

}

print_r($mdata);

?>

应该是:

array_push($mdata[$user],$month);

您需要更好地描述什么是无效的,以及您想要实现什么(可能是示例结果?),但这一行:

array_push($mdata[$user][],$month);
看起来很奇怪。如果让我猜的话,你希望是这样

array_push($mdata[$user],$month);


通常最好使用
$arr[]=$data
,因为不需要调用函数

foreach($months as $month){
    $mdata[$user][] = $month ; //Just use the shorthand
}

如果阵列推送时有一个额外的[],请尝试:

array_push($mdata[$user],$month);

你让纪尧姆摇滚!非常感谢。
array_push($mdata[$user],$month);