/* 숫자 */
var_dump(boolval(10)); // bool(true)
var_dump(boolval(0)); // bool(false)
var_dump(boolval(0.0)); // bool(false)
var_dump(boolval(0.14)); // bool(true)

/* 문자열 */
var_dump(boolval('abc')); // bool(true)
var_dump(boolval('')); // bool(false)
var_dump(boolval('0')); // bool(false)
var_dump(boolval('false')); // bool(true)

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

/* NULL */
var_dump(boolval(NULL)); // bool(false)

/* 객체 */
var_dump(boolval(new stdClass)); // bool(true)
$var = '3.14';
var_dump(boolval($var)); // bool(true)

/* 원본 변수나 값은 변경되지 않습니다. */
var_dump($var); // string(4) "3.14"
boolval(mixed $value): bool
/* 0은 false로 변환됩니다. */
var_dump(boolval(0)); // bool(false)

/* 0이 아닌 숫자는 true로 변환됩니다. */
var_dump(boolval(10)); // bool(true)

/* 부동소수점 숫자도 같은 규칙을 따릅니다. */
var_dump(boolval(0.0)); // bool(false)
var_dump(boolval(0.14)); // bool(true)
/* 빈 문자열('')은 false로 변환됩니다. */
var_dump(boolval('')); // bool(false)

/* '0'(문자열)도 false로 변환됩니다. */
var_dump(boolval('0')); // bool(false)

/* 그 외의 모든 문자열은 true로 변환됩니다. */
var_dump(boolval('abc')); // bool(true)
var_dump(boolval('false')); // bool(true)
/* 빈 배열은 false로 변환됩니다. */
var_dump(boolval([])); // bool(false)
var_dump(boolval(array())); // bool(false)

/* 요소가 있는 배열은 true로 변환됩니다. */
var_dump(boolval([1, 2])); // bool(true)
var_dump(boolval(array(1, 2))); // bool(true)
/* NULL은 false로 변환됩니다. */
var_dump(boolval(NULL)); // bool(false)
/* 객체는 항상 true로 변환됩니다. (빈 객체라도 true) */
var_dump(boolval(new stdClass)); // bool(true)
/* 이미 부울(boolean) 값은 그대로 반환됩니다. */
var_dump(boolval(true)); // bool(true)
var_dump(boolval(false)); // bool(false)
if (boolval($some_value)) {
    echo "True!";
} else {
    echo "False!";
}
$num = 10;
$result_num = (bool) $num;
var_dump($result_num); // bool(true)

$str = '';
$result_str = (bool) $str;
var_dump($result_str); // bool(false)

$arr = [1, 2];
$result_arr = (bool) $arr;
var_dump($result_arr); // bool(true)

$obj = new stdClass;
$result_obj = (bool) $obj;
var_dump($result_obj); // bool(true)
$num = 10;
$result_num = !!$num;
var_dump($result_num); // bool(true)

$str = '';
$result_str = !!$str;
var_dump($result_str); // bool(false)

$arr = [1, 2];
$result_arr = ! $arr;
var_dump($result_arr); // bool(true)

$obj = new stdClass;
$result_obj = !!$obj;
var_dump($result_obj); // bool(true)