将关联数组推入另一个数组

时间:2012-05-23 18:04:15

标签: php arrays multidimensional-array associative-array

我想将一个关联阵列推送到另一个阵列,但我不知道如何去做。在那一刻,我有以下内容:

$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 );

“Offers”是一个数组,我想要做的就是在里面添加一个数组的键值。任何想法?我现在似乎只是解析错误。

更新

这是到目前为止数组的输出

["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我希望[“site”] => array()

由于

奥利弗

2 个答案:

答案 0 :(得分:1)

你第一次这样做了吗?

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

然后你可以这样做:

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

答案 1 :(得分:1)

我会为数组赋值执行此操作:

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

确保您的警告已启用,因此您知道在使用阵列(和子阵列)之前已经设置了它们。