当json在不同深度编码时解码

时间:2013-05-09 14:24:26

标签: php arrays json algorithm array-difference

我正在尝试使用array_diff来查看对帐户进行了哪些更改。帐户数据被编码为json文件。问题是当我解码json时,我得到一个多维数组。如手册中所述:

Note:  Please note that this function only checks one dimension of a n-dimensional array. Of course you can check deeper dimensions by using array_diff($array1[0], $array2[0]); 

This comment似乎解决了这个问题 - 但如果我不知道有多少维度,那么阵列的深度是什么呢? 举一个非常简单的例子,我有两个文件: abcd.json:

[{"name":"Tim Pearson","id":"17118"},{"name":"Ashley Danchen Chen","id":"504829084"},{"name":"Foisor Veronica","id":"100005485446135"}]

和blabla.json:

[{"name":"Tim Pearson","id":"17118"},{"name":"Foisor Veronica","id":"100005485446135"}]

如果我解码它们,它们看起来像:

Array ( [0] => Array ( [name] => Tim Pearson [id] => 17118 ) [1] => Array ( [name] => Ashley Danchen Chen [id] => 504829084 ) [2] => Array ( [name] => Foisor Veronica [id] => 100005485446135 ) )

那么我需要的是做出改变,它会保持{"name":"Ashley Danchen Chen","id":"504829084"}。但是怎么做呢? array_diff现在似乎很难使用。

0 个答案:

没有答案