- var_dump: documentation ( source)
- array_intersect_key: documentation ( source)
<?php
$data = array( 'ua' => array( 'family', 'major' ),
'os' => array( 'family', 'major' ) );
$result = new StdClass();
$result->ua = new StdClass();
$result->ua->family = "Safari";
$result->ua->major = "6";
$result->ua->minor = "0";
$result->ua->patch = "2";
$result->os = new StdClass();
$result->os->family = "Mac OS X";
$result->os->major = "10";
$result->os->minor = "7";
$result->os->patch = "5";
$result->os->patchMinor = "[null]";
$ret = array();
foreach ( $data as $object => $values )
{
$ret += array_intersect_key( (array) $result->$object, $values );
}
var_dump(array_intersect_key( (array) $result, $data ));