Найти все записи JSON по определенному значению
У меня есть JSON-массив данных
Пример массива:
{
"items": [
{
"ЮЛ": {
"ИНН": "7203171935",
"ОГРН": "1067203020268",
"НаимСокрЮЛ": "ТСН \"МЕЛЬНИКАЙТЕ, 100\"",
"НаимПолнЮЛ": "ТОВАРИЩЕСТВО СОБСТВЕННИКОВ НЕДВИЖИМОСТИ \"МЕЛЬНИКАЙТЕ, 100\"",
"ДатаОГРН": "2006-02-16",
"Статус": "Действующее",
}
},
{
"ЮЛ": {
"ИНН": "7203251330",
"ОГРН": "1107232033149",
"НаимСокрЮЛ": "ТСН \"СОСЕДИ\"",
"НаимПолнЮЛ": "ТОВАРИЩЕСТВО СОБСТВЕННИКОВ НЕДВИЖИМОСТИ \"СОСЕДИ\"",
"ДатаОГРН": "2010-09-24",
"Статус": "Действующее",
}
},
{
"ЮЛ": {
"ИНН": "7203186956",
"ОГРН": "1067200019996",
"НаимСокрЮЛ": "НП \"ЦКУЖ \"АЛЬТЕРНАТИВА\"",
"НаимПолнЮЛ": "НЕКОММЕРЧЕСКОЕ ПАРТНЕРСТВО \"ЦЕНТР КООРДИНАЦИИ УПРАВЛЕНИЯ ЖИЛЬЕМ \"АЛЬТЕРНАТИВА\"",
"ДатаОГРН": "2006-12-21",
"Статус": "Действующее",
}
},
Мне необходимо вывести все найденные записи, только по определенному ИНН. Как я могу это сделать?
Моя попытка выглядит так:
$jsonIterator = new RecursiveIteratorIterator(
new RecursiveArrayIterator(json_decode($array, TRUE)),
RecursiveIteratorIterator::SELF_FIRST);
echo "<table class='table table-bordered'><h3>Таблица</h3>";
foreach ($jsonIterator as $key => $val) {
if(is_array($val)) {
if ($key['ИНН'] === $inn) {
echo "<tr><th scope='row'>$key</th></tr>";
}
} else {
echo "<th scope='col'>$key</th><td colspan='3'>$val</td>";
}
}
echo "</table>";