<?php echo "<br/>数值强制转换:"; $string="2a"; $string1=intval($string); echo '$string1的值:'.$string1.'$string2的值:';//单引号不会输出变量,将原样输出 $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