PHP多维数组构建


PHP Multidimensional Array Build

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

<?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);

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

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

您需要更好地描述不起作用的含义以及您想要实现的确切目标(也许是示例结果?)然而,这里的这一行:

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

看起来很奇怪。如果我猜,你希望它是

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

$mdata[$users][] = $month;

如果array_push中有多余的[],请尝试:

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