강제 변환 방법: 1. 변환할 변수 앞에 대상 유형("(int)", "(bool)", "(float)" 등)을 괄호 안에 추가합니다. 2. 유형 변환을 사용합니다. 함수 intval(), floatval(), boolval(), strval(), settype().
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
PHP 강제 유형 변환
PHP의 강제 유형 변환은 다른 언어와 매우 유사합니다. 변수 앞에 괄호로 묶인 대상 유형이 옵니다(예: $var = (int)3.1415;
). 또는 특정 유형 변환 함수를 사용할 수 있습니다(예: intval()
, floatval()
, strval()
등) 또는 settype()
을 사용하여 유형을 변환합니다. $var = (int)3.1415;
),也可以使用具体的类型转换函数(例如 intval()
、floatval()
、strval()
等)或者 settype()
来转换类型。
使用在变量之前加上用括号括起来的目标类型的方式强制转换变量类型时,括号中允许使用的变量类型如下所示:
(int)
、(integer)
:转换成整型;
(bool)
、(boolean)
:转换成布尔类型;
(float)
、(double)
、(real)
:转换成浮点类型;
(string)
:转换成字符串类型;
(array)
:转换成数组类型;
(object)
:转换成对象类型。
使用具体的转换函数 intval()
、floatval()
、boolval()
、strval()
等来转换变量的类型时,这些函数的作用如下所示:
intval():用于获取变量的整数值;
floatval():用于获取变量的浮点值;
boolval():用于获取变量的布尔值;
strval():用于获取变量的字符串值。
【示例】使用以上几个函数强制转换变量的类型。
<?php $str = '123.456abc'; $int = intval($str); echo '变量 $int 的类型为:'.gettype($int).'<br>'; $float = floatval($str); echo '变量 $float 的类型为:'.gettype($float).'<br>'; $string = strval($str); echo '变量 $string 的类型为:'.gettype($string); ?>
运行结果如下:
变量 $int 的类型为:integer 变量 $float 的类型为:double 变量 $string 的类型为:string
上面介绍的两种强制类型转换的方式都不会改变被转换变量本身的类型,而是通过将转换得到的新类型的数据赋值给新的变量,原变量的类型和值不变。
如果需要改变变量本身的类型可以使用 settype()
函数来完成,函数的语法格式如下:
settype(mixed &$var, string $type)
其中,$var 为要转换的变量;$type 为要转换的类型,可以是 boolean(bool)
、integer(int)
、float(double)
、string
、array
、object
、null
(int)
, (integer ): 정수 유형으로 변환;
(bool)
, (boolean)
: 부울 유형으로 변환
( float)
, (double)
, (real)
: 부동 소수점 유형으로 변환
(string): 문자열 유형으로 변환; <p></p>
(array)
: 배열 유형으로 변환;
(object)
: 객체 유형으로 변환. 특정 변환 함수 intval()
, floatval()
, boolval()
, strval()
사용 > code> 변수의 유형을 변환할 때 해당 함수의 기능은 다음과 같습니다. 🎜🎜🎜🎜intval(): 변수의 정수 값을 가져오는 데 사용됩니다. 🎜🎜🎜🎜floatval(): 변수의 유형을 가져오는 데 사용됩니다. 변수의 부동 소수점 값 ;🎜🎜🎜🎜boolval(): 변수의 부울 값을 가져오는 데 사용됩니다. 🎜🎜🎜🎜strval(): 변수의 문자열 값을 가져오는 데 사용됩니다. 🎜🎜🎜🎜【예제】위 함수를 사용하여 변수 유형을 강제로 지정합니다. 🎜<?php $str = (string)'123abc'; $bool = (bool)true; settype($str, 'integer'); settype($bool, 'string'); echo '$str 的类型为:'.gettype($str).'<br> $bool 的类型为:'.gettype($bool); ?>🎜실행 결과는 다음과 같습니다. 🎜
$str 的类型为:integer $bool 的类型为:string🎜위에서 소개한 두 가지 강제 유형 변환 방법은 변환된 변수 자체의 유형을 변경하는 것이 아니라, 변환된 새로운 유형의 데이터를 원래 변수인 새 변수에 할당하는 것입니다. 유형과 값은 변경되지 않습니다. 🎜🎜변수 자체의 유형을 변경해야 하는 경우
settype()
함수를 사용하면 됩니다. 함수의 구문 형식은 다음과 같습니다. 🎜rrreee🎜그 중 $var는 $type은 변환할 변수이며 boolean(bool)
, integer(int)
, float(double)일 수 있습니다.
, 문자열
, 배열, 객체
, null
. 🎜🎜【예제】변수 유형을 강제로 지정하려면 settype() 함수를 사용하세요. 🎜rrreee🎜실행 결과는 다음과 같습니다. 🎜rrreee🎜강제 유형 변환을 사용할 때 주의할 점은 다음과 같습니다. 🎜🎜🎜🎜정수 유형은 부동 소수점 유형의 정밀도 범위가 훨씬 크기 때문에 부동 소수점 유형으로 변환됩니다. 정수형보다 변환 후의 정확도는 변하지 않습니다. 🎜🎜🎜🎜부동 소수점형을 정수형으로 변환하면 소수 부분은 자동으로 버려지고 정수 부분만 남습니다. 부동 소수점 숫자가 정수의 유효한 범위를 초과하면 결과는 정의되지 않습니다. 🎜🎜🎜🎜문자열이 숫자로 변환되면 문자열의 시작 부분부터 시작하여 숫자가 아닌 첫 번째 문자로 끝납니다. 숫자(호환되지 않는 내용 지우기), 즉 문자열의 첫 번째 문자가 숫자가 아닌 경우 변환된 결과는 0입니다. 🎜🎜🎜🎜NULL 값은 문자열로 변환되고 결과는 null 문자입니다. 🎜🎜🎜🎜추천 학습: "🎜PHP 비디오 튜토리얼🎜"🎜위 내용은 PHP에서 데이터 유형 변환을 강제하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!