A. Morales
A. Morales

Reputation: 123

How to loop inside an array with PHP

How can I loop inside an array in PHP?

I'm working with mongodb and php and I'm trying to loop inside an array to repeat 50 times the same. Just getting in contact with mongodb. Code:

$whatever->insertOne(
    ['name' => 'whatever',
     'data' => array(
          for ($i = 0 ; $i < 50 ; $i++) {
              '1' => array(
                  'date' => $date,
                  'value' => mt_rand(0,200)
               ),
          }
    ]);

This is the loop that I'm trying to run, but clearly is not going to work.

for ($i = 0 ; $i < 50 ; $i++) {}

And yes, I know I would repeat the '1' 50 times, which it doesn't make sense, but I'm just giving a change to mongodb.

Upvotes: 1

Views: 523

Answers (1)

Federico klez Culloca
Federico klez Culloca

Reputation: 27149

First construct the object with an empty data, then fill it with your loop, then submit it to mongo

$toSend = ['name' => 'whatever', 'data' => array()];

for ($i = 0 ; $i < 50 ; $i++) {
     $toSend['data'][] = [
         '1' => [
             'date' => $date,
             'value' => mt_rand(0,200)
         ]
     ];
}

$whatever->insertOne($toSend);

Anyway, let's pretend for a second that you didn't want the outer array inside data. That means you can't use the same key, so let's use $i for that.

for ($i = 0 ; $i < 50 ; $i++) {
     $toSend['data']["$i"] = [
         'date' => $date,
         'value' => mt_rand(0,200)
     ];
}

Upvotes: 1

Related Questions