Я выполняю вызов API и получаю некоторые данные. Затем мне нужно получить эти данные и создать из них свой собственный массив. Однако я заметил небольшую проблему. Рассматриваемые данные имеют следующую структуру:
Array
(
[Cost] => Array
(
[ID] => 4233
[Description] => Something
[Quantity] => 4
)
)
Array
(
[Cost] => Array
(
[0] => Array
(
[ID] => 1233
[Description] => Something
[Quantity] => 1
)
[1] => Array
(
[ID] => 2344
[Description] => Something
[Quantity] => 2
)
)
)
Теперь проблема в том, что внутри массива Cost иногда есть дополнительные массивы, как во втором примере. Мой исходный код был таким:
if (!empty($costs['Costs'])) {
foreach ($costs['Costs'] as $field) {
foreach ($field as $type) {
print_r(is_array($type));
$jData['costsInfo'][] = $type;
}
}
}
И это отлично работает для Cost с внутренними массивами, как в примере 2. Но когда этого не происходит, он присваивает значение нумерованному индексу. Я пробовал проверить, является ли это массивом, но он всегда, кажется, возвращает истину.
Результат, который мне нужен, выглядит примерно так
[costsInfo] => Array
(
[0] => Array
(
[ID] => 4233
[Description] => Something
[Quantity] => 4
)
)
[costsInfo] => Array
(
[0] => Array
(
[ID] => 1233
[Description] => Something
[Quantity] => 1
)
[1] => Array
(
[ID] => 2344
[Description] => Something
[Quantity] => 2
)
)
На данный момент я вижу это
[costsInfo] => Array
(
[0] => 4233
[1] => Something
[2] => 4
)
[costsInfo] => Array
(
[0] => Array
(
[ID] => 1233
[Description] => Something
[Quantity] => 1
)
[1] => Array
(
[ID] => 2344
[Description] => Something
[Quantity] => 2
)
)
Итак, как лучше всего поступить, если исходный массив не имеет внутренних массивов?
Спасибо