簡體   English   中英

PHP 多個 foreach 循環在數組中插入對象

[英]PHP Multiple foreach loop to insert object in array

我想將元素添加到具有條件的數組中,但是使用此代碼, $ready array僅適用於$ready array的第一個值。 我錯過了什么 ?

$data['garduinduk'] :

 Array ( [0] => stdClass Object ( 
            [id] => 1 
            [id_app] => 2 
            [id_basecamp] => 1 
            [nama] => GI BOGOR BARU 
            [room] => 
           ) 
        [1] => stdClass Object ( 
            [id] => 2 
            [id_app] => 2 
            [id_basecamp] => 1 
            [nama] => GI CIAWI BARU 
            [room] => 
          ) 
        [2] => stdClass Object ( 
            [id] => 3 
            [id_app] => 2 
            [id_basecamp] => 1 
            [nama] => GI CIAWI 
            [room] => 
          )

$准備好:

Array ( [0] => stdClass Object (
            [lokasi] => 1 
            [berlaku_dari] => 
            [berlaku_sampai] => 0000-00-00 
            [status] => On_progress 
            [file] => 
           ) 
        [1] => stdClass Object ( 
            [lokasi] => 16 
            [berlaku_dari] => 
            [berlaku_sampai] => 0000-00-00 
            [status] => On_progress 
            [file] => 
           ) 
        [2] => stdClass Object ( 
            [lokasi] => 2 
            [berlaku_dari] => 
            [berlaku_sampai] => 0000-00-00 
            [status] => On_progress 
            [file] => /assets/files/155bd035e88358b.PNG
           ) 
        [3] => stdClass Object ( 
            [lokasi] => 2 
            [berlaku_dari] => 2019-02-27 
            [berlaku_sampai] => 2019-02-28 
            [status] => Selesai 
            [file] => /assets/files/215c76691f12ae9.pdf
          ) 
     )

代碼 :

foreach ($data['garduinduk'] as $key => $gi){
            foreach ($ready as $rdy){
                if ($rdy->lokasi == $gi->id){ 
                    if ($rdy->status == 'On_progress'){
                        $gi->berlaku_dari = 'ON PROGRESS';
                        $gi->berlaku_sampai = 'ON PROGRESS';
                        $gi->file = 'ON PROGRESS';
                    }else{ 
                        $gi->berlaku_dari = $rdy->berlaku_dari;
                        $gi->berlaku_sampai = $rdy->berlaku_sampai;
                        $gi->file = $rdy->file;
                    }

                }else{
                    $gi->berlaku_dari = '';
                    $gi->berlaku_sampai = '';
                    $gi->file = '';
                }
            }
        }

$gi上使用參考

foreach ($data['garduinduk'] as $key => &$gi){

或使用

$data['garduinduk'][$key]->

代替

$gi->

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM