PHP 버전
4+
/* 인덱스 배열(Indexed Array) 타입 */
var_dump(is_array(array(1, 2, 3))); // bool(true)
var_dump(is_array([1, 2, 3]));      // bool(true)
var_dump(is_array([]));             // bool(true)

/* 연관 배열(Associative Array) */
var_dump(is_array(array('name' => 'foo', 'age' => 30))); // bool(true)
var_dump(is_array(['name' => 'foo', 'age' => 30]));      // bool(true)

/* 부울(boolean) 및 문자열 */
var_dump(is_array(true));            // bool(false)
var_dump(is_array(false));           // bool(false)
var_dump(is_array('array'));         // bool(false)

/* 기타 타입 */
var_dump(is_array(100));             // bool(false)
var_dump(is_array(null));            // bool(false)

/* 타입 캐스팅(Type Casting, 형 변환) */
var_dump(is_array((array) 'foo'));   // bool(true)
var_dump(is_array((array) 100));     // bool(true)
is_array(mixed $value): bool
$a = array(); // array()를 이용한 빈 배열
$b = []; // []를 이용한 빈 배열 => PHP 5.4+ 도입

var_dump(is_array($a)); // bool(true)
var_dump(is_array($b)); // bool(true)
class MyClass {
    public $property;

    public function __construct($value) {
        $this->property = $value;
    }
}

$obj = new MyClass('value');
var_dump(is_array($obj)); // bool(false)
function my_function($data) {
	if (!is_array($data)) {
		throw new InvalidArgumentException('인수는 배열이어야 합니다.');
	}
	// ...
}
$data = maybe_get_array();

if (is_array($data)) {
	foreach ($data as $item) {
		// ...
	}
}