从多维数组中取消设置元素

从多维数组中取消设置元素

问题描述:

I am trying to unset/remove some elements from a multidimeansional usign the below code but i cant figure it out how.

My array looks like (only two elements from my multidimensional array)

[3] => stdClass Object
    (
        [processId] => H7-99440469
        [hotelCode] => TR4SWV
        [availabilityStatus] => InstantConfirmation
        [totalPrice] => 36
        [totalTax] => 0
        [totalSalePrice] => 0
        [currency] => EUR
        [boardType] => All Inclusive
        [rooms] => Array
            (
                [0] => stdClass Object
                    (
                        [roomCategory] => Double Promotional
                        [paxes] => Array
                            (
                                [0] => stdClass Object
                                    (
                                        [paxType] => Adult
                                        [age] => 30
                                    )

                                [1] => stdClass Object
                                    (
                                        [paxType] => Adult
                                        [age] => 30
                                    )

                            )

                        [totalRoomRate] => 36
                        [ratesPerNight] => Array
                            (
                                [0] => stdClass Object
                                    (
                                        [date] => 2015-05-01
                                        [amount] => 36
                                    )

                            )

                    )

            )

    )

[4] => stdClass Object
    (
        [processId] => HH-46795719
        [hotelCode] => TRIIFY
        [availabilityStatus] => InstantConfirmation
        [specialDeal] => 11
        [totalPrice] => 38
        [totalTax] => 0
        [totalSalePrice] => 0
        [currency] => EUR
        [boardType] => All Inc.
        [rooms] => Array
            (
                [0] => stdClass Object
                    (
                        [roomCategory] => Double Room
                        [paxes] => Array
                            (
                                [0] => stdClass Object
                                    (
                                        [paxType] => Adult
                                        [age] => 30
                                    )

                                [1] => stdClass Object
                                    (
                                        [paxType] => Adult
                                        [age] => 30
                                    )

                            )

                        [totalRoomRate] => 38
                        [ratesPerNight] => Array
                            (
                                [0] => stdClass Object
                                    (
                                        [date] => 2015-05-01
                                        [amount] => 38
                                    )

                            )

                    )

            )

    )

How can i remove all the elemets that dont have [specialDeal] => 11 ? [specialDeal] => 11 is the Early booking discount

$otherspecialoffer = array();
foreach( $availHotels as $key=>$item ) {
    if (!(isset($item->specialDeal) && $item->specialDeal === 11)) {
         unset($availHotels[$key]);
    } else {
    $otherspecialoffer[$item->specialDeal] = $key;
  }
}

for($i=0;$i<count($array);$i++) {
    if (!(isset($array[$i]->specialDeal) && $array[$i]->specialDeal] === 11)) {
         unset($array[$i]);
    }
}