簡體   English   中英

如何獲取數組中下一個相同鍵的值

[英]How to get value for next same key in array

我有一個打印時看起來像這樣的數組:

Array (
    [0] => stdClass Object (
        [sku] => exp_pokemonketchup_001
        [_id] =>   539be6740478ca09233ac71e
        [__v] => 0
        [type] => 3
        [status] => 1
        [_create_date] => 2014-06-14T06:06:44.365Z
        )
    [1] => stdClass Object (
        [sku] => exp_onepiecegobble_001
        [_id] => 539be6710478ca09233ac71c
        [__v] => 0
        [type] => 3
        [status] => 1
        [_create_date] => 2014-06-14T06:06:41.110Z
    )
    [2] => stdClass Object (
        [sku] => exp_sailormoongiggle_001
        [_id] => 539be66d0478ca09233ac717
        [__v] => 0
        [type] => 3
        [status] => 1
        [_create_date] => 2014-06-14T06:06:37.633Z
    )
)

我正在嘗試在foreach循環中獲取sku和后續sku對應值。 換句話說,我遍歷數組,並回顯第一個sku,即exp_pokemonketchup_001

現在,我還需要回顯下一個sku ,它是exp_onepiecegobble_001但是在循環繼續到數組的該部分之前。

可以使用內置的PHP函數get_object_vars()來對以上內容進行排序。 在給定的數組中,我嘗試僅使用一個字段重新創建數組。 請參見下面的代碼。 <?php $obj = array((object) array('sku' => 'exp_pokemonketchup_001'), (object) array('sku' => 'exp_onepiecegobble_001') ); foreach($obj as $k => $v){ $objDetails =get_object_vars($v); print_r($objDetails['sku']); } ?>

嘗試這個:

假設$array是您當前的對象數組

$array_size = count($array); 

foreach ($array as $key=>$val) {

    // echo current sku
    echo $val->sku;     

    // If not the last object, echo next sku       
    if ($key < $array_size-1) {
        echo $array[$key+1]->sku; 
    }

}

暫無
暫無

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

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