note 115195 deleted from function.array-diff-assoc by salathe
| From: | salathe@php.net | Date: | Thu, 12 Jun 2014 12:45:39 +0000 |
| Subject: | note 115195 deleted from function.array-diff-assoc by salathe | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-199669@lists.php.net to get a copy of this message | ||
Note Submitter: Anonymous
----
there is a functiont that i searched long enough now i have created it so someone else to find it if
he need it ;]
<?php
function compare_two_object_recursive($object_1, $object_2, $object_1_Identifier = false,
$object_2_Identifier = false){
$object1 = (array)$object_1;
$object2 = (array)$object_2;
$object3 = array();
$o1i = $object_1_Identifier ? $object_1_Identifier : 1;
$o2i = $object_2_Identifier ? $object_2_Identifier : 2;
foreach($object1 as $key => $value){
if(is_object($object1[$key])){
$object1[$key] = (array)$object1[$key];
$object2[$key] = (array)$object2[$key];
$object3[$key] = (object)compare_two_object_recursive($object1[$key], $object2[$key], $o1i,
$o2i);
}elseif(is_array($object1[$key])){
$object3[$key] = compare_two_object_recursive($object1[$key], $object2[$key], $o1i, $o2i);
}else{
if($object1[$key] == $object2[$key]){
$object3[$key]['comparison_status'] = "SAME";
}else{
$object3[$key]['comparison_status'] = "NOT THE SAME";
$object3[$key][$o1i] = $object1[$key];
$object3[$key][$o2i] = $object2[$key];
}
}
}
return $object3;
}
?>