Я делаю запрос к API, и для каждого запроса я возвращаю массив с BrowseNodes. Внутри этого массива я получаю такой результат:
array:1 [
"BrowseNode" => array:3 [
"BrowseNodeId" => "2502033031"
"Name" => "OBD-II Diagnosewerkzeuge"
"Ancestors" => array:1 [
"BrowseNode" => array:3 [
"BrowseNodeId" => "5142250031"
"Name" => "Motorwerkzeuge & Zubehör"
"Ancestors" => array:1 [
"BrowseNode" => array:3 [
"BrowseNodeId" => "2502064031"
"Name" => "Werkzeuge"
"Ancestors" => array:1 [
"BrowseNode" => array:4 [
"BrowseNodeId" => "79899031"
"Name" => "Kategorien"
"IsCategoryRoot" => "1"
"Ancestors" => array:1 [
"BrowseNode" => array:2 [
"BrowseNodeId" => "78191031"
"Name" => "Auto & Motorrad"
]
]
]
]
]
]
]
]
]
]
Если бы это был фиксированный массив, который всегда имел такую длину, мне было бы легко получить последний массив BrowseNode и значение с ключом «Имя». В этом случае это будет "Name" => "Auto & Motorrad"
.
Однако, поскольку категория может иметь один или несколько вложенных массивов, она не является статической ...
Это означает, что мне нужно найти решение, чтобы всегда получать самый вложенный массив, а из этого - имя для получения категории. Поскольку это динамические данные, я не знаю, как это решить , Я просто знаю, что мне всегда нужно получить BrowseNode
и затем внутри массива BrowseNode
. Я должен получить Ancestors
и внутри этого Ancestors
снова. Мне нужно получить массив BrowseNode
, пока я не достигну последнего BrowseNode
массива и получить имя.
Итак, я должен перебирать свой массив, пока массив BrowseNode
больше не будет иметь массив Ancestors
и не получит имя этого массива BrowseNode
.
Ребята, у вас есть идеи, как это сделать?