Я преобразовываю XML-файл в ассоциативный массив, чтобы вытащить данные, проблема в том, что я должен сделать 10 циклов, зависит от числа массивов, чтобы получить данные.Как получить конкретные данные из многомерного массива
Есть ли лучший способ получить данные столбца без создания множества циклов? потому что я хочу назначить их переменным.
массива, который я пытаюсь получить данные из
Array
(
[catalog] => Array
(
[book] => Array
(
[0] => Array
(
[took] => Array
(
[dodo] => Array
(
[ahmadz] => Array
(
[lolo] => Array
(
[author] => Ralls, Kim
[title] => Midnight Rain
[genre] => Fantasy
[price] => 5.95
[publish_date] => 2000-12-16
[description] => A former architect battles corporate zombies,
an evil sorceress, and her own childhood to become queen
of the world.
)
)
)
)
)
[1] => Array
(
[took] => Array
(
[dodo] => Array
(
[ahmadz] => Array
(
[lolo] => Array
(
[author] => Ralls, Kim
[title] => Midnight Rain
[genre] => Fantasy
[price] => 5.95
[publish_date] => 2000-12-16
[description] => A former architect battles corporate zombies,
an evil sorceress, and her own childhood to become queen
of the world.
)
)
)
)
)
)
)
)
Я удалил все другие данные, чтобы сделать его более удобным для чтения, но есть много других значений в массиве. Во всяком случае, как я могу получить значение автора, например.
echo $array['author'];
при условии, что у меня есть много данных автора, а не один, как в примере выше
Пожалуйста, помогите !.
Edited .....................
Array
(
[catalog] => Array
(
[book] => Array
(
[0] => Array
(
[took] => Array
(
[dodo] => Array
(
[ahmadz] => Array
(
[lolo] => Array
(
[tata] => Array
(
[author] => jac1
[title] => Midnight Rain1
[genre] => Fantasy
[price] => 5.95
[publish_date] => 2000-12-16
[description] => A former architect battles corporate zombies.
)
[tata2] => Array
(
[author] => jack2
[title] => Midnight Rain1
[genre] => Fantasy
[price] => 5.95
[publish_date] => 2000-12-16
[description] => A former architect battles corporate zombies.
)
)
)
)
)
)
[1] => Array
(
[took] => Array
(
[dodo] => Array
(
[ahmadz] => Array
(
[lolo] => Array
(
[tata] => Array
(
[author] => jack3
[title] => Midnight Rain1
[genre] => Fantasy
[price] => 5.95
[publish_date] => 2000-12-16
[description] => A former architect battles corporate zombies.
)
[tata2] => Array
(
[author] => jack4
[title] => Midnight Rain1
[genre] => Fantasy
[price] => 5.95
[publish_date] => 2000-12-16
[description] => A former architect battles corporate zombies.
)
)
)
)
)
)
)
)
)
Как вы видите выше, я просто хочу, чтобы получить значение, которое имеет родительские ключи не TATA tata2
так что я могу вставить их отдельно в базу данных
Я не совсем понимаю проблемы. Вы можете получить автора, используя '$ array ['catalog'] ['book'] ['took'] ['dodo'] ['ahmadz'] ['lolo'] ['author']', без каких-либо циклов. Возможно, вы упростили массив настолько, что проблема не очевидна, и это поможет показать хотя бы часть немодифицированного входного массива. – BlueM
Я думаю, вам лучше использовать XML-парсер, если вы хотите получить более чистый код. Что-то вроде xpath должно позволить вам легко захватывать данные из любой точки внутри XML-структуры. http://us2.php.net/manual/en/simplexmlelement.xpath.php – dgig
Я попытался вытащить данные через XML, но имена родителей отличаются друг от друга, поэтому я не могу написать один путь к получить все данные. Также я не разбираюсь в xml, поэтому я попытался преобразовать его в массив, который медленнее, но проще !. –