/* 숫자를 문자열로 변환 */
echo strval(42);    // 출력: '42'
echo strval(42.89); // 출력: '42.89'

/* 문자열과 정수를 결합 */
$age = 23;
$result = '내 나이는 ' . strval($age) . '살입니다.';
echo $result; // 출력: '내 나이는 23살입니다.'
$var = 3.14;
var_dump(strval($var)); // string(4) "3.14"

/* 원본 변수나 값은 변경되지 않습니다. */
var_dump($var); // float(3.14)
strval(mixed $value): string
$int = 42;
echo strval($int); // 출력: '42'
$float = 3.14;
echo strval($float); // 출력: '3.14'
$bool = true;
echo strval($bool); // 출력: '1'

$bool = false;
echo strval($bool); // 출력: ''
$null_var = NULL;
echo strval($null_var); // 출력: ''
class MyClass {
    public function __toString() {
        return 'MyClass instance';
    }
}

$obj = new MyClass();
echo strval($obj); // 출력: 'MyClass instance'
class MyClass {
    // __toString() 메서드를 구현하지 않음
}

$obj = new MyClass();

try {
    // strval()을 사용하여 객체를 문자열로 변환하려고 시도
    echo strval($obj);
} catch (Throwable $e) {
    echo 'Error: ' . $e->getMessage();
	// Error: Object of class MyClass could not be converted to string
}
$array = [1, 2, 3];
echo strval($array); // 출력: 'Array'