【问题标题】:Php looping though nested array to add new key value pair to arrayPhp循环遍历嵌套数组以将新的键值对添加到数组
【发布时间】:2022-12-17 11:39:42
【问题描述】:

并尝试添加一个额外的行(键:值)。所以这是我的循环:

$newarray = [];
foreach($allJobs as $allJob)
{
 for($i = 0; $i < 2 ; $i++){
    $allJob->bku = $i;
    $newarray[] = $allJob;
 }
}

现在输出:

        Array
(
[0] => stdClass Object
    (
        [id] => CFF9B1A6-37B8-4000-B058-03DC648B5289
        [name] => Kreditor rapporter til RE pkt. 5 
        [bku] => 1
    )

[1] => stdClass Object
    (
        [id] => CFF9B1A6-37B8-4000-B058-03DC648B5289
        [name] => Kreditor rapporter til RE pkt. 5 
        [bku] => 1
    )

但是正如您所看到的,最后一个键值对是相同的——在 [bku] => 1 中; 我想要的是:

      Array
(
[0] => stdClass Object
    (
        [id] => CFF9B1A6-37B8-4000-B058-03DC648B5289
        [name] => Kreditor rapporter til RE pkt. 5 
        [bku] => 0
    )

[1] => stdClass Object
    (
        [id] => CFF9B1A6-37B8-4000-B058-03DC648B5289
        [name] => Kreditor rapporter til RE pkt. 5 
        [bku] => 1
    )

所以它在嵌套循环中增加了我的额外行 bku 。

【问题讨论】:

    标签: php arrays for-loop nested


    【解决方案1】:

    所以我找到了一个解决方案:

    我已经将它从 stdClass 对象转换为一个数组,我是这样做的:

    $array = json_decode(json_encode($allJobs), true);
    $newarray = [];
    
    foreach($array as $allJob) {
     for($i = 0;  $i < 2 ; $i++){
         $allJob['bku'] = $i;
         $newarray[] = $allJob;
         }
    }
    

    然后它在我的嵌套循环中计数正确。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-08
      • 2021-12-01
      • 2021-05-31
      相关资源
      最近更新 更多