> php教程 > PHP开发 > 본문

PHP에서 intval()과 (int) 변환의 사용 및 차이점

黄舟
풀어 주다: 2016-12-13 13:03:02
원래의
1362명이 탐색했습니다.

<?php 
echo "<br/>数值强制转换:"; 
$string="2a"; 
$string1=intval($string); 
echo &#39;$string1的值:&#39;.$string1.&#39;$string2的值:&#39;;//单引号不会输出变量,将原样输出 
$string2=(int)($string); 
echo $string2 
?>
로그인 후 복사

설명서에서 찾을 수 없습니다.
설명서에도 다음과 같이 나와 있습니다. 인용문:
int intval (mixed $var [, int $base ] )
특정 진수 변환을 사용하여 변수 var의 정수 값을 반환합니다(기본값은 10진수). 이 차이만 있다면 소수 상황을 처리하기 위해 (int)를 사용하는 것이 좋은 선택입니까?
차이는 없으며 일반적으로 (int)를 사용하며 float, string, array 등이 있습니다.

intval(), 매개변수가 문자열인 경우 문자열의 첫 번째 매개변수 숫자가 아닌 경우 반환됩니다. 숫자 문자열 앞의 문자는 정수 값을 나타냅니다. 문자열의 첫 번째 문자가 '-'인 경우 두 번째 문자부터 계산이 시작됩니다.

매개변수가 점수인 경우 반올림된 값을 반환합니다.

물론, intval()이 반환하는 값은 4byte 값으로 표현할 수 있는 범위(-2147483648~2147483647) 이내이다. 이 범위를 벗어나는 값은 경계값으로 대체된다.

예: intval("A")=0; intval(12.3223)=12; intval("1123Asdfka3243")=1123;
int();
예:
$a=0.13;
$b=(int)$a; //$b=0;
$b=(int)$a; //$b=0;

$a=1.01
$b=(int)$a;

$a=1.99;
$b=(int)$a; //$b=1;

PHP 문자열이 int로 변환됨

중요한 점은 int 형식의 변수 값이 있다는 것입니다. eaxmple, 방문자가 연령 필드로 양식을 작성하는 경우 이는 int여야 합니다. 그러나 $에서는 _POST 배열의 경우 문자열로 가져옵니다.
PHP 문자열을 int로 변환하는 것은 쉽습니다. 캐스팅하기 전에 변수 유형을 사용해야 하므로 (INT)를 사용해야 합니다. 이를 수행하는 방법의 예는 다음과 같습니다.

코드가 실제로 작동하는지 확인하려면 === 연산자를 사용할 수 있습니다. 이 연산자는 값뿐만 아니라 유형도 확인합니다. 이러한 코드는 다음과 같아야 합니다.
<?php 
$str = "10"; 
$num = (int)$str;?>
로그인 후 복사

또한 문제가 열려 있습니다. 우리의 문자열이 단지 숫자의 문자열이 아니라면 어떻게 될까요? 문자열에 다른 문자가 있다는 뜻입니다. 이 경우 변환 작업은 최선을 다해 공백만 있고 숫자 값 뒤에 유효한 문자가 없는 경우 문자열을 변환할 수 있습니다. 작동 방식은 다음과 같습니다.
<?php 
$str = "10"; 
$num = (int)$str; 
if ($str === 10) echo "String"; 
if ($num === 10) echo "Integer"; 
?>
로그인 후 복사

'10' - > 10
'10.5' - > 10
'10,5' - > 10
“10” - > 10
“10테스트” - > 10

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿