 <p>try:</p> <pre><code>$myObjectCollection = ...; $minObject = $myObjectCollection[0]; // or reset($myObjectCollection) if you can't ensure numeric 0 index array_walk($myObjectCollection, function($object) use ($minObject) { $minObject = $object-&gt;distance &lt; $minObject-&gt;distance ? $object : $minObject; }); </code></pre> <p>but from the looks of your dump. <code>name</code> and <code>distance</code> are private. So you want be able to access them from the object directly using <code>-&gt;</code>. You'll need some kind of getter <code>getDistance()</code></p>