2012-05-23 61 views
2

我想將關聯數組插入另一個數組,但我不知道如何處理它。在一分鐘我有以下幾點:將關聯數組插入另一個數組

$rate_info = array(
    "hotel_rating" => $hotel->{'hotelRating'}, 
    "room_rate" => $hotel->{'RoomRateDetailsList'}->{'RoomRateDetails'}->{'RateInfo'}->{'ChargeableRateInfo'}->{'@total'}, 
    "currency" => $hotel->{'RoomRateDetailsList'}->{'RoomRateDetails'}->{'RateInfo'}->{'ChargeableRateInfo'}->{'@currencyCode'}, 
    "deep_link" => $hotel->{'deepLink'} 
); 

array_push($hotel_array[$hotel->{'name'}]["offers"], "expedia" => $rate_info); 

「優惠」是一個數組,所有我想要做的是一個數組內添加一個鍵值任何想法?所有我似乎得到的是分析錯誤。

UPDATE

這是陣列的輸出到目前爲止

["offers"]=> 
array(2) { 
    ["LateRooms"]=> 
    array(4) { 
    ["hotel_rating"]=> 
    int(4) 
    ["room_rate"]=> 
    string(6) "225.06" 
    ["currency"]=> 
    string(3) "USD" 
    } 
    [0]=> 
    string(4) "test" 
} 

正如你可以看到的[0]我想instad [ 「現場」] =>數組()

感謝

奧利弗

+0

什麼位產生解析錯誤?你得到什麼錯誤? – halfer

+1

順便說一下,你可以用'$ hotel-> RoomRateDetailsList-> RoomRateDetails'(etc)來替換'$ hotel - > {'RoomRateDetailsList'} - > {'RoomRateDetails'}'(etc)。最後一個('@ total')看起來非常不禮貌 - 是否需要'@'? – halfer

+0

它發回的線路解析錯誤:array_push($ hotel_array [$ hotel - > {'name'}] [「offers」],「expedia」=> $ rate_info); – ORStudios

回答

1

我會爲數組賦值做到這一點:

$hotel_array[$hotel->name]['offers']['expedia'] = $rate_info; 

確保您的警告啓用,所以你知道陣列(和子陣列)在使用它們之前已經設置好了。

1

你第一次做到這一點?

$hotel_array[$hotel->{'name'}] = array(); 

然後你就可以這樣做:

array_push($hotel_array[$hotel->{'name'}]["offers"], "expedia" => $rate_info); 
+0

嗨,看到上面我已經更新了這個問題。 「名稱」是包含數組的鍵值。在數組內有另一個名爲「offers」的數組。 – ORStudios