>  기사  >  백엔드 개발  >  PHP에서 데이터 유형 변환을 강제하는 방법

PHP에서 데이터 유형 변환을 강제하는 방법

青灯夜游
青灯夜游원래의
2021-11-18 18:03:172842검색

강제 변환 방법: 1. 변환할 변수 앞에 대상 유형("(int)", "(bool)", "(float)" 등)을 괄호 안에 추가합니다. 2. 유형 변환을 사용합니다. 함수 intval(), floatval(), boolval(), strval(), settype().

PHP에서 데이터 유형 변환을 강제하는 방법

이 튜토리얼의 운영 환경: 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 = &#39;123.456abc&#39;;
    $int = intval($str);
    echo &#39;变量 $int 的类型为:&#39;.gettype($int).&#39;<br>&#39;;
    $float = floatval($str);
    echo &#39;变量 $float 的类型为:&#39;.gettype($float).&#39;<br>&#39;;
    $string = strval($str);
    echo &#39;变量 $string 的类型为:&#39;.gettype($string);
?>

运行结果如下:

变量 $int 的类型为:integer
变量 $float 的类型为:double
变量 $string 的类型为:string

上面介绍的两种强制类型转换的方式都不会改变被转换变量本身的类型,而是通过将转换得到的新类型的数据赋值给新的变量,原变量的类型和值不变。

如果需要改变变量本身的类型可以使用 settype() 函数来完成,函数的语法格式如下:

settype(mixed &$var, string $type)

其中,$var 为要转换的变量;$type 为要转换的类型,可以是 boolean(bool)integer(int)float(double)stringarrayobjectnull

변수 앞에 괄호로 묶인 대상 유형을 추가하여 변수 유형을 강제하는 경우 괄호 안에 허용되는 변수 유형은 다음과 같습니다.

(int), (integer ): 정수 유형으로 변환;

  • (bool), (boolean): 부울 유형으로 변환

  • ( float), (double), (real): 부동 소수점 유형으로 변환

  • (string): 문자열 유형으로 변환; <p></p>
  • (array): 배열 유형으로 변환;

(object): 객체 유형으로 변환.

특정 변환 함수 intval(), floatval(), boolval(), strval()사용 > code> 변수의 유형을 변환할 때 해당 함수의 기능은 다음과 같습니다. 🎜🎜🎜🎜intval(): 변수의 정수 값을 가져오는 데 사용됩니다. 🎜🎜🎜🎜floatval(): 변수의 유형을 가져오는 데 사용됩니다. 변수의 부동 소수점 값 ;🎜🎜🎜🎜boolval(): 변수의 부울 값을 가져오는 데 사용됩니다. 🎜🎜🎜🎜strval(): 변수의 문자열 값을 가져오는 데 사용됩니다. 🎜🎜🎜🎜【예제】위 함수를 사용하여 변수 유형을 강제로 지정합니다. 🎜
<?php
    $str = (string)&#39;123abc&#39;;
    $bool = (bool)true;
    settype($str, &#39;integer&#39;);
    settype($bool, &#39;string&#39;);
    echo &#39;$str 的类型为:&#39;.gettype($str).&#39;<br> $bool 的类型为:&#39;.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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.