src/Headzoo/Core/Objects.php
public static function equals($obj_a, $obj_b, $deep = false)
    {
        $is_equal = false;
        if ($obj_a instanceof $obj_b) {
            if ($deep) {
                $obj_a = ((array)$obj_a);
                $obj_b = ((array)$obj_b);
            } else {
                $obj_a = get_object_vars($obj_a);
                $obj_b = get_object_vars($obj_b);
            }
            $is_equal = $obj_a === $obj_b;
        }
        
        return $is_equal;
    }
public static function equals($obj_a, $obj_b, $deep = false)
    {
        $is_equal = false;
        if ($obj_a instanceof $obj_b) {
            if ($deep) {
                $obj_a = ((array)$obj_a);
                $obj_b = ((array)$obj_b);
            } else {
                $obj_a = get_object_vars($obj_a);
                $obj_b = get_object_vars($obj_b);
            }
            $is_equal = $obj_a === $obj_b;
        }
        
        return $is_equal;
    }
public static function equals ( $ obj_a , $ obj_b , $ deep = false ) { $ is_equal = false ; if ( $ obj_a instanceof $ obj_b ) { if ( $ deep ) { $ obj_a = ( ( array ) $ obj_a ) ; $ obj_b = ( ( array ) $ obj_b ) ; } else { $ obj_a = get_object_vars ( $ obj_a ) ; $ obj_b = get_object_vars ( $ obj_b ) ; } $ is_equal = $ obj_a === $ obj_b ; } return $ is_equal ; }
Returns whether two objects are equal to each other

For two objects to be equal they must be of the same class type, and public properties from each
must have the same value. When $deep is true, the protected and private property values must
also be equal. A strict === comparison is done between property values.

Examples:
```php
$obj_a = new Strings();
$obj_b = new Strings();
$obj_a->value = "monkey";
$obj_b->value = "moneky";
$is_equal = Objects::equals($obj_a, $obj_b);
var_dump($is_equal);

// Outputs: bool(true)

$obj_a = new Strings();
$obj_b = new Strings();
$obj_a->value = "monkey";
$obj_b->value = "donkey";
$is_equal = Objects::equals($obj_a, $obj_b);
var_dump($is_equal);

// Outputs: bool(false)
```

@param  object $obj_a The first object to test
@param  object $obj_b The second object to test
@param  bool   $deep  True to check both public and private properties
@return bool
Returns whether two objects are equal to each other