dti70601 2017-06-21 11:05
浏览 18
已采纳

PHP - 如何在索引中按值取消数组索引

I have an array of objects ($response) that looks like this:

Array
(
    [0] => stdClass Object
        (
            [CardNumber] => 5897853070424xxx
            [CardHolderName] => P Stoltz
            [CardHolderContactNumber] => 
            [CardHolderEmailAddress] => 
            [CardExpiryDate] => 2017-09-01T00:00:00
            [CardHolderTypeID] => 2
            [LastUsedDate] => 2017-05-25T00:00:00
        )
    [1] => stdClass Object
        (
            [CardNumber] => 589785304326xxx
            [CardHolderName] => J Stoltz
            [CardHolderContactNumber] => 
            [CardHolderEmailAddress] => 
            [CardExpiryDate] => 2017-09-01T00:00:00
            [CardHolderTypeID] => 2
            [LastUsedDate] => 2017-05-25T00:00:00
        )

)

Now, I need to unset the entire object where CardNumber != '589785304326xxx'

I have tried this:

$cardnumber = '5897853070424xxx'; 
    foreach( $response as $res )
    {
        if($res->CardNumber != $cardnumber)
        {
            unset($res);
        }
    }

This does nothing. Any suggestions?

  • 写回答

2条回答 默认 最新

  • duanbi3786 2017-06-21 11:07
    关注

    What you have tried will only unset the current object in the loop. You need to do the following:

    foreach($response as $key => $res) {
        if($res->CardNumber != $cardnumber) {
            unset($response[$key], $res);
            continue;
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?