如何使用PHP在数组中的每个项目上插入项目

时间:2018-08-07 15:19:28

标签: php arrays

我有这个现有的数组

Array
(
    [0] => stdClass Object
        (
            [userid] => 1
            [user] => John Doe
        )

    [1] => stdClass Object
        (
            [userid] => 2
            [user] => Mae Smith
        )
)

我想在每个数组中插入新项,例如[randomNumber] => 50。所以最终输出必须是这样

Array
(
    [0] => stdClass Object
        (
            [userid] => 1
            [user] => John Doe
            [randomNumber] => 25
        )

    [1] => stdClass Object
        (
            [userid] => 2
            [user] => Mae Smith
            [randomNumber] => 50
        )
)

我正在使用PHP使用for循环将每个用户插入randomNumber

for($i=0 ; $i<count($users) ; $i++) {
   // insert randomNumber here
   $users[$i] = array('randomNumber' => rand(10,100));
}

它似乎不起作用。正确的方法应该是什么?谢谢

3 个答案:

答案 0 :(得分:3)

使用foreach进行迭代,并且由于$user对象,它将通过引用传递到循环:

foreach ($users as $user) {
    $user->randomNumber = rand(10,100);
}

答案 1 :(得分:1)

因为您有一个对象数组而不是数组...

for($i=0 ; $i<count($users) ; $i++) {
    // insert randomNumber here
    $users[$i]->randomNumber = rand(10,100);
}

答案 2 :(得分:0)

我认为foreach函数更适合您。并且您有对象数组。

foreach ($users as $key => $value) {
    $users[$key]->randomNumber = rand(10,100);
}