-2

我正在尝试在循环中构建一个多维数组,我很困惑为什么这段代码不起作用

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

?>
4

4 回答 4

2

那应该是:

array_push($mdata[$user],$month);
于 2013-06-28T13:47:53.383 回答
1

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

foreach($months as $month){
    $mdata[$user][] = $month ; //Just use the shorthand
}
于 2013-06-28T13:49:02.767 回答
0

您需要更好地描述什么不起作用意味着什么以及您想要实现什么(也许是示例结果?)但是这里的这一行:

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

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

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

或者

$mdata[$users][] = $month;
于 2013-06-28T13:48:53.330 回答
0

你有一个额外的 [] 在 array_push,试试:

array_push($mdata[$user],$month);
于 2013-06-28T13:49:24.153 回答