I've got some XML inputs that I convert to PHP arrays using LaLit's XML2Array.
$array = XML2Array::createArray($xml);
This gives me a multidimensionnal array like this one for instance:
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
)
)
)
)
Some values are formatted like this :
Array ( [@cdata] => value )
I would like to run a recursive function on $array that would "flatten" @cdata arrays, to get this result instead :
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
)
)
)
How could I do ? Thanks !