Home  >  Article  >  Backend Development  >  The usage and difference between intval() and (int) conversion under PHP

The usage and difference between intval() and (int) conversion under PHP

不言
不言Original
2018-06-06 11:19:012994browse

This article mainly introduces the use and difference between intval() and (int) conversion under PHP. It has a certain reference value. Now I share it with everyone. Friends in need can refer to it

Want to know What is the difference between using intval() and (int) conversion? Or what are the differences between the two, including functions and definitions. Or related to frequency of use, efficiency, etc.

Copy code The code is as follows:

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

Can’t be found in the manual.
This is also what the manual says: Quote:
int intval (mixed $var [, int $base ])
By using a specific base conversion (the default is decimal), return the integer value of the variable var . If there is only this difference, then I like to use (int) to deal with decimal situations. Is it a good choice?
No difference, generally use (int), there are also float, string, array, etc.
In terms of intval(), if the parameter is a string, the first value in the string is returned. The integer value represented by the string of digits preceding a character that is not a digit. If the first character in the string is ‘-’, counting starts from the second character.
If the parameter is a dotted number, return its rounded value.
Of course, the value returned by intval() is within the range that can be represented by a 4-byte value (-2147483648~2147483647). Values ​​exceeding this range will be replaced by boundary values.
Example:

intval("A")=0; intval(12.3223)=12; intval("1123Asdfka3243")=1123; 
int();

Example:

$a=0.13; 
$b=(int)$a; //$b=0; 
$a=0.99; 
$b=(int)$a; //$b=0; 
$a=1.01; 
$b=(int)$a; //$b=1; 
$a=1.99; 
$b=(int)$a; //$b=1;

Convert PHP string to int
Sometimes, it is important to have a variable in int format value. eaxmple, if your visitor fills out the form with the age field, this should be an int. However, in the $_POST array, you are getting it as a string.
Converting a PHP string to int is easy. We need to use your variable type before casting.So you need to use (INT). Here is an example how to do this:

Copy code The code is as follows:

<?php $str = "10"; $num = (int)$str;?>

If you want to check that the code REALY works, we can use = == operator. This operator checks not only the value, but the type as well. Such code should look like this:

Copy code The code is as follows:

<?php 
$str = "10"; 
$num = (int)$str; 
if ($str === 10) echo "String"; 
if ($num === 10) echo "Integer"; 
?>

There is also an issue open. What happens if our string is not simply a string of numbers. I mean there are other characters in the string. In this case, the conversion operation tries the best and can convert the string if only space is there and if there are no valid characters after the numeric value. Its working principle is as follows:

“10” - > 10 
“10.5” - > 10 
“10,5” - > 10 
“10” - > 10 
“10” - > 10 
“10test” - > 10 
“test10” - > 0

Related recommendations: Comparative analysis of file_get_contents and curl performance in

php

The above is the detailed content of The usage and difference between intval() and (int) conversion under PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn