私はAPIがそうのような数値配列を含むオブジェクト内の複数のレコードを返しているシナリオを持っているため、オブジェクトを変更します。PHP - 一貫性
stdClass Object
(
[Event] => Array
(
[0] => stdClass Object
(
[ID] => 111
[Name] => My First Event
[EventType] => stdClass Object
(
[ID] => 1
[Category] => Music
)
)
[1] => stdClass Object
(
[ID] => 222
[Name] => My Second Event
[EventType] => stdClass Object
(
[ID] => 2
[Category] => Sport
)
)
)
[Errors] => stdClass Object
(
[Result] => 0
[Message] =>
)
[RecordCount] => 2
)
私は現在、レコードを反復処理するためにforeachループを使用しています。これは正常に動作します。
foreach($result->Event as $Event)
しかし、私はここで問題が発生します。その場合、単一の結果がオブジェクトに返されます。
stdClass Object
(
[Event] => stdClass Object
(
[ID] => 11
[Name] => My Only Event
[EventType] => stdClass Object
(
[ID] => 2
[Category] => Sport
)
)
[Errors] => stdClass Object
(
[Result] => 0
[Message] =>
)
[RecordCount] => 1
)
単一の結果の配列インデックスはありません。
私はAPIによって返されるデータの制御することはできません念頭に置いて、この保持を克服するための最良の方法は何ですか?
Iは[IS_ARRAY()](http://php.net/is_array)と推定します。 –
もし配列があるかどうかに依存して2つのロジックを別々にする必要がある場合、それはかなり乱雑になる可能性があります。 – Sam
その後、APIオーナーに苦情を申し立てます(私はそのデザインが嫌いです)。 –