2012-05-23 59 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