我正在使用来自投稿人的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能帮忙吗?