PHP 버전
4.0.5+
/* 스칼라 타입이면 true */
var_dump(is_scalar(true));  // bool(true) => 부울(boolean)
var_dump(is_scalar(false)); // bool(true) => 부울(boolean)

var_dump(is_scalar(-1));    // bool(true) => 정수(integer)
var_dump(is_scalar(0));     // bool(true) => 정수(integer)
var_dump(is_scalar(1));     // bool(true) => 정수(integer)

var_dump(is_scalar(3.14));  // bool(true) => 부동 소수점 숫자(float)
var_dump(is_scalar(-10.5)); // bool(true) => 부동 소수점 숫자(float)
var_dump(is_scalar(0.0));   // bool(true) => 부동 소수점 숫자(float)

var_dump(is_scalar('abc')); // bool(true) => 문자열(string)
var_dump(is_scalar("abc")); // bool(true) => 문자열(string)
var_dump(is_scalar('1'));   // bool(true) => 문자열(string)

/* 스칼라 타입이 아니면 false */
var_dump(is_scalar(array(1, 2, 3))); // bool(false) => 배열(array)
var_dump(is_scalar([1, 2, 3]));      // bool(false) => 배열(array)
var_dump(is_scalar([]));             // bool(false) => 배열(array)

class MyClass {
	public $name = 'John Doe';
	public $age = 30;
}

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

var_dump(is_scalar($obj1)); // bool(false) => 객체(object)
var_dump(is_scalar($obj2)); // bool(false) => 객체(object)

$file = fopen('test.txt', 'w');
var_dump(is_scalar($file)); // bool(false) => 리소스(resource)

var_dump(is_scalar(null)); // bool(false) => NULL(대소문자를 구분하지 않음)
var_dump(is_scalar(Null)); // bool(false) => NULL(대소문자를 구분하지 않음)
var_dump(is_scalar(NULL)); // bool(false) => NULL(대소문자를 구분하지 않음)
is_scalar(mixed $value): bool
// 데이터가 단일 값(숫자, 문자열 등)일 때만 화면에 출력합니다.
if (is_scalar($value)) {
    echo "결과: " . $value;
} 
// NULL은 출력 시 아무것도 보이지 않기 때문에 'NULL'이라고 직접 출력합니다.
elseif (is_null($value)) {
    echo "결과: NULL";
} 
// 배열이나 객체인 경우, 에러 없이 내부 값을 확인하기 위해 print_r()을 사용합니다.
else {
    print_r($value);
}