/** * Recursive type test. * @param mixed $first Test subject. * @param mixed $second Comparison object. * @return boolean True if same type. * @access private */ protected static function isIdenticalType($first, $second) { if (gettype($first) != gettype($second)) { return false; } if (is_object($first) && is_object($second)) { if (get_class($first) != get_class($second)) { return false; } return SimpleTestCompatibility::isArrayOfIdenticalTypes((array) $first, (array) $second); } if (is_array($first) && is_array($second)) { return SimpleTestCompatibility::isArrayOfIdenticalTypes($first, $second); } if ($first !== $second) { return false; } return true; }