Я немного зол и измучен а олени из stackoverflow ничего умного и элегантного предложить не могут. Я надеюсь на супер-мозг наших русских экспертов. :)
У меня есть 2 JSON объекта которые генерируются на лету в зависимости от динамического контента. мне нужно найти способ сравнить их структуру.
сами объекты всегда разные потому что зависят от внешних факторов но структура их почти всегда одинаковая. я хочу иметь возможно обнаружить изменения в их структуре.
каким образом лучше всего это сделать?
к примеру, эти 2 объекта должны считаться одинаковыми потому что у них обоих есть переменная index и массив tags (и только):
{
"index": 0,
"tags": [
"abc"
]
}
{
"index": 1,
"tags": [
"xyz"
]
}
я пытался сделать это:
$array = json_decode($json, true);
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($array));
foreach($iterator as $key => $value){
echo $key.'<br>';
echo $value.'<br><br>';
}
этот итератор бежит только по листьям дерева, то есть как раз те элементы которые мне нужно проигнорировать во время сравнения. проблема в том что "$key => $value" в этом цикле не содержать информации о вложенности и я не знаю о какой паре идет речь.
так же думал использовать array_diff_key() но он не рекурсивный. :(
в общем, посоветуйте пжл как это сделать!
спасибо!