- spl_object_hash: documentation ( source)
<?php
$a = new StdClass();
$b = new StdClass();
$array1 = array($a, $a, $b);
$array2 = array($a, $b, $b);
function countHashes ($array) {
$count = array();
foreach ($array as $val) {
$hash = spl_object_hash($val);
if (! isset($count[$hash])) {
$count[$hash] = 0;
}
}
$count[$hash]++;
return $count;
};
$count1 = countHashes($array1);
$count2 = countHashes($array2);
if (count($count1) === count($count2)) {
foreach ($count1 as $key => $value) {
echo $key . " and " . $value . "\n";
if ($count2[$key] !== $value) {
echo 'not the same!';
}
}
}