如何在PHP中的循环内循环数组

时间:2018-03-12 08:41:29

标签: php arrays loops

基本上,我要做的是在循环和数组中循环。我不知道该怎么做(这就是为什么我在这里)而且我一直在测试很多东西。

因为听起来很混乱我写下代码会是怎样的,但显然这是不正确的。

以下是我的尝试。

$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)
                    ) 
                }
            )
        }
    )

    ]);

2 个答案:

答案 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()之前打印数组,以检查您是否正在获取正确格式的数组或需要更多操作。谢谢