Com TreeWalker você pode fazer para obter a diferença entre dois objetos em php:
https://github.com/lukascivil/TreeWalker
exemplo ao vivo: http://treewalker.lukascivil.com.br/
<? php
include ‘pathto / TreeWalker.php’;
$ treewalker = new TreeWalker (array (
“debug” => true, // true => retorna o tempo de execução, false => não
“returntype” => “jsonstring”) // Returntype = [“obj”, “jsonstring” , “matriz”]
);
Método:
//getdiff() - this method will return the diference between struct1 and struct2
$struct1 = array("casa"=>1, "b"=>"5", "cafeina"=>array("ss"=>"ddd"), "oi"=>5);
$struct2 = array("casa"=>2, "cafeina"=>array("ss"=>"dddd"), "oi2"=>5);
$treewalker->getdiff($struct1, $struct2, false) // false -> with slashs
Output:
{
new: {
b: "5",
oi: 5
},
removed: {
oi2: 5
},
edited: {
casa: {
oldvalue: 2,
newvalue: 1
},
cafeina/ss: {
oldvalue: "dddd",
newvalue: "ddd"
}
},
time: 0
}