У меня есть некоторые входные данные XML, которые я преобразую в массивы PHP, используя XML2Array от LaLit .
$array = XML2Array::createArray($xml);
Это дает мне многомерный массив, такой как этот, например:
Array (
[title] => Array (
[@cdata] => My Playlist
)
[tracks] => Array (
[track] => Array (
[date] => 2019-10-15T09:41:21+0000
[position] => 4
[title] => Array (
[@cdata] => Hello
)
[creator] => Array (
[@cdata] => The Beatles
)
)
[track] => Array (
[date] => 2019-10-15T09:41:21+0000
[position] => 5
[title] => Array (
[@cdata] => How High?
)
[creator] => Array (
[@cdata] => Olivier Boogie
)
)
)
)
Некоторые значения отформатированы следующим образом:
Array ( [@cdata] => value )
Я хотел бы запустить рекурсивную функцию для массива $, которая "сгладит" массивы @ cdata , чтобы получитьэтот результат вместо:
Array (
[title] => My Playlist
[tracks] => Array (
[track] => Array (
[date] => 2019-10-15T09:41:21+0000
[position] => 4
[title] => Hello
[creator] => The Beatles
)
[track] => Array (
[date] => 2019-10-15T09:41:21+0000
[position] => 5
[title] => How High?
[creator] => Olivier Boogie
)
)
)
Как я мог сделать? Спасибо!