strval()
함수의 사용법
strval()
함수는
인수로 전달된 값을 문자열로 변환하여 반환합니다.
특히, 문자열과 다른 데이터 유형(정수, 부동소수점 숫자 등)을 결합할 때 매우 유용합니다.
/* 숫자를 문자열로 변환 */
echo strval(42); // 출력: '42'
echo strval(42.89); // 출력: '42.89'
/* 문자열과 정수를 결합 */
$age = 23;
$result = '내 나이는 ' . strval($age) . '살입니다.';
echo $result; // 출력: '내 나이는 23살입니다.'
strval()
함수는 변환된 값을 반환하며, 인수로 전달된 원본 변수나 값은 변경되지 않습니다.
$var = 3.14;
var_dump(strval($var)); // string(4) "3.14"
/* 원본 변수나 값은 변경되지 않습니다. */
var_dump($var); // float(3.14)
strval()
함수의 형식은 다음과 같습니다.
구문
strval(mixed $value): string
매개변수
$value |
문자열로 변환할 값입니다. |
---|
반환 값
주어진 값을 문자열로 변환한 결과를 반환합니다.
매개변수에 따른 반환 값 예제
매개변수의 데이터 유형에 따른 반환 값은 strval()
함수의 작동 원리를 이해하는데 매우 중요한 개념입니다.
정수
정수는 숫자 문자열로 변환하여 반환합니다.
$int = 42;
echo strval($int); // 출력: '42'
부동소수점 숫자
부동소수점 숫자는 숫자 문자열로 변환하여 반환합니다.
$float = 3.14;
echo strval($float); // 출력: '3.14'
부울(boolean)
true
는 문자열 '1'
, false
는 빈 문자열(''
)을 반환합니다.
$bool = true;
echo strval($bool); // 출력: '1'
$bool = false;
echo strval($bool); // 출력: ''
NULL
NULL
은 빈 문자열(''
)을 반환합니다.
$null_var = NULL;
echo strval($null_var); // 출력: ''
객체
객체를 문자열로 변환할 수 있는지 여부는 객체의 __toString()
메소드가 정의되어 있는지에 따라 다릅니다. 만약 __toString()
메소드가 정의되어 있다면, 그 메소드의 반환값이 사용됩니다
class MyClass {
public function __toString() {
return 'MyClass instance';
}
}
$obj = new MyClass();
echo strval($obj); // 출력: 'MyClass instance'
하지만, 객체가 __toString()
메서드를 구현하지 않은 경우, strval()
함수로 변환할 수 없습니다. 이를 시도하면 PHP에서 Fatal error가 발생합니다.
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'
라는 문자열로 변환됩니다.
$array = [1, 2, 3];
echo strval($array); // 출력: 'Array'