基本上,我要做的是在循环和数组中循环。我不知道该怎么做(这就是为什么我在这里)而且我一直在测试很多东西。
因为听起来很混乱我写下代码会是怎样的,但显然这是不正确的。
以下是我的尝试。
$whatever->insertOne(
['name' => 'whatever',
'data' => array(
for ($i = 0 ; $i < 50 ; $i++) { // <-first loop
'something' => array(
for ($j = 0 ; $j < 50 ; $j++) { // <-second loop
'somevalue' => array(
'date' => $date,
'value' => mt_rand(0,200)
)
}
)
}
)
]);
答案 0 :(得分:3)
试试这个:
$data = array();
for ($j = 0 ; $j < 50 ; $j++) {
for ($i = 0 ; $i < 50 ; $i++) {
$data[$j]['something'][$i]['date'] => $date;
$data[$j]['something'][$i]['value'] => mt_rand(0,200);
}
}
$whatever->insertOne(['name' => 'whatever','data' => $data]);
答案 1 :(得分:1)
Loop需要在外面创建最终数组。不要在数组中添加循环。
您可能需要以下内容: -
$data = ['name' => 'whatever'];
for ($i = 0 ; $i < 50 ; $i++) {
for ($j = 0 ; $j < 50 ; $j++) {
$data[$i]['something'][$j]=['somevalue' => array('date' => $date,'value' => mt_rand(0,200));
}
}
$whatever->insertOne($data);
注意: - 您可以在insertOne()
之前打印数组,以检查您是否正在获取正确格式的数组或需要更多操作。谢谢