我正在使用來自投稿人的API用於我的酒店預訂引擎。每當我需要從他的系統中獲得一些信息時,我執行CURL並且我得到XML中的響應。然後我申請json_decode(json_encode(simplexml_load_string($response)), true)
,我得到數組中的響應。到目前爲止這麼好,但有一個具體的問題。同一個函數返回的XML並不總是相同的格式。它取決於請求的參數。我將用一個具體的例子來說明這一點。 當我需要獲得我的房間/房間的可用性時,我發送了一段時間的請求。這裏有4種不同的情況。在同一個多維數組中轉換一個不同的多維數組
- 1室 - 19天
- 室1 - 多天
- 多個房間 - 19天
- 多個房間 - 多天
正如你可以看到,如果有1個房間,有沒有0鍵作爲索引,並且信息看起來像「1級上」。幾天的情況也是如此。如果你要求超過1天,那麼所有的日子都有它們的索引(0,1,2等)。
現在的問題是:有沒有辦法將每個響應轉換爲數組,如情況4?
我的意思是如果有1個房間,將它的信息放在RoomAvailability ['0']下。如果還有更多,請將它們放置爲像RoomAvailability ['1'],RoomAvailability ['2']等... DayAvailability的相同之處。如果有一天將當天的信息置於DayAvailability ['0']之下。很多天? DayAvailability [「1」],DayAvailability [「2」]等等 有了這個麻煩我可以做些什麼來檢查是否有很多房間的唯一的事情就是:
if (isset($response['RoomsAvailability']['RoomAvailability']['0'])) {
//Do staff
}
但是,這是非常糟糕!如果有1個房間或50個,1天或30個,我不想浪費時間和條件!
Any1能幫忙嗎?