2012-05-23 4 views
2

Я хотел бы нажать ассоциативный массив в другой массив, но я не уверен, как это сделать. На минуту у меня есть следующие:Push-ассоциированный массив в другой массив

$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] Я хотел бы [ "сайт"] => Array()

Благодаря

Оливер

+0

Какой бит генерирует ошибки разбора? Какие ошибки вы получаете? – halfer

+1

Кстати, вы можете заменить '$ hotel -> {'RoomRateDetailsList'} -> {'RoomRateDetails'}' (и т. Д.) С помощью '$ hotel-> RoomRateDetailsList-> RoomRateDetails' (и т. Д.). Последний в конце ('@ total') выглядит очень изворотливым - это' @ 'необходимо? – halfer

+0

Отсылает обратно ошибку разбора для строки: array_push ($ hotel_array [$ hotel -> {'name'}] ["предлагает"], "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

Привет, см. Выше Я обновил вопрос. «Имя» - это ключевое значение, которое содержит массив. Внутри массива есть еще один массив, называемый «предложения». – ORStudios

Смежные вопросы