PHP 버전
4+
class MyClass {
	public $name = 'John Doe';
	public $age = 30;
}

$obj1 = new MyClass();
$obj2 = clone $obj1;

/* 클래스 */
var_dump(is_object($obj1)); // bool(true)
var_dump(is_object($obj2)); // bool(true)

/* 배열 */
var_dump(is_object(array(1, 2, 3))); // bool(false)
var_dump(is_object([1, 2, 3]));      // bool(false)
var_dump(is_object([]));             // bool(false)

/* 문자열 및 숫자 */
var_dump(is_object('Hello World!')); // bool(false)
var_dump(is_object(7));              // bool(false)
var_dump(is_object(0.13));           // bool(false)

/* 부울 */
var_dump(is_object(true)); // bool(false)

/* null */
var_dump(is_object(null)); // bool(false)

/* 타입 캐스팅(Type Casting, 형 변환) */
var_dump(is_object((object) 1));    // bool(true) -> 정수를 객체로 형 변환
var_dump(is_object((object) 1.9));  // bool(true) -> 부동 소수점 숫자를 객체로 형 변환
var_dump(is_object((object) true)); // bool(true) -> 불리언을 객체로 형 변환
is_object(mixed $value): bool
// 빈 객체 생성
$empty_object = new stdClass();
var_dump(is_object($empty_object)); // bool(true)
$arr = array(1, 2, 3);
var_dump(is_object($arr)); // bool(false)
$arr = array(1, 2, 3);
var_dump(is_array($arr)); // bool(true)
function my_function($data) {
	if (!is_object($data)) {
		throw new InvalidArgumentException('인수는 객체이어야 합니다.');
	}
	// ...
}
$data = maybe_get_object();

if (is_object($data)) {
    foreach ($data as $property => $value) {
        // 객체의 각 속성에 대한 작업 수행
    }
}