<p>In effect, if I have a <code>class c</code> and instances of <code>$c1</code> and <code>$c2</code> 
which might have different private variable amounts but all their public methods return the same values I would like to be able to check that <code>$c1 == $c2?</code></p>

<p>Does anyone know an easy way to do this?</p>

You can define PHP's
__toString
magic method inside your class.
For example
```
```
class cat {
    private $name;
    public function __contruct($catname) {
        $this->name = $catname;
    }

    public function __toString() {
        return "My name is " . $this->name . "\n";
    }
}

$max = new cat('max');
$toby = new cat('toby');
print $max; // echoes 'My name is max'
print $toby; // echoes 'My name is toby'

if($max == $toby) {
    echo 'Woohoo!\n';
} else {
    echo 'Doh!\n';
}
```
```
Then you can use the equality operator to check if both instances are equal or not.
HTH,
Rushi