У меня есть JSon дерево с категориями,Получение последнего уровня JSon дерева на PHP
Я хотел бы получить последний уровень элементов для каждой другой категории.
Например, на этой JSON:
[
{
"category_id": "3",
"parent_id": "2",
"name": "Women",
"categories": [
{
"category_id": "11",
"parent_id": "3",
"name": "Clothing",
"categories": [
{
"category_id": "30",
"parent_id": "11",
"name": "T-shirts",
"categories": null
},
{
"category_id": "33",
"parent_id": "11",
"name": "jeans",
"categories": null
}
]
}
]
},
{
"category_id": "5",
"parent_id": "2",
"name": "Footwear ",
"categories": [
{
"category_id": "15",
"parent_id": "5",
"name": "Rings",
"categories": [
{
"category_id": "51",
"parent_id": "15",
"name": "Small Leathers",
"categories": null
}
]
},
{
"category_id": "16",
"parent_id": "5",
"name": "Bands",
"categories": [
{
"category_id": "41",
"parent_id": "16",
"name": "boots",
"categories": null
}
]
},
{
"category_id": "48",
"parent_id": "5",
"name": "Bracelets",
"categories": [
{
"category_id": "55",
"parent_id": "48",
"name": "Cocktail",
"categories": null
}
]
}
]
}
]
Результат будет массив (футболки, джинсы, Маленькие Уши, сапоги, коктейль)
То, что я имел в виду, чтобы расшифровать его массив и поиск фильтруют массив со всеми категориями, которые являются нулевыми, но я не уверен, что это лучший вариант, потому что объект имеет разные уровни.
(я извиняюсь за английский)
ну, да. вы должны сначала его расшифровать. php не знает, что такое json. это просто текст текста. и да, вы можете использовать array_filter() с соответствующим рекурсивным обратным вызовом для сканирования массива, но возвращение совпадений от этого рекурсивного вызова будет интересно, если вам нужно сохранить «путь», который вы берете через массив, чтобы найти совпадающий узел (с). –
прямо сейчас я не сохраню путь, потому что я использую это, чтобы соответствовать своему собственному дереву на другой конечной точке, но я не знаю, будет ли делать фильтр наилучшей практикой или лучше использовать рекурсивную функцию, а не поскольку нулевое поле – Saikios
Это даже не действительный JSON, и я не знаю, кто будет пытаться исправить его, чтобы проверить ответ. – AbraCadaver