сравнивать свойства объектов и отображать различия в PHP

Я ищу способ показать мне различные свойства / значения заданных объектов ...

$obj1 = new StdClass; $obj1->prop = 1;
$obj2 = new StdClass; $obj2->prop = 2;

var_dump(array_diff((array)$obj1, (array)$obj2));
//output array(1) { ["prop"]=> int(1) }

Это работает очень хорошо, если свойство не является объектом или массивом.

$obj1 = new StdClass; $obj1->prop = array(1,2);
$obj2 = new StdClass; $obj2->prop = array(1,3); 

var_dump(array_diff((array)$obj1, (array)$obj2))
// Output array(0) { }
// Expected output - array { ["prop"]=> array { [1]=> int(2) } }

Есть ли способ избавиться от этого, даже если свойство представляет собой другой объект?!

16
задан tereško 1 July 2012 в 17:47
поделиться