我正试图在循环中构建一个多维数组,但我不明白为什么这段代码不能在中工作
<?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);