Home > Article > Backend Development > How to force a value to a numeric type in php
Forcing method: 1. Add the target type "(int)" or "(float)" enclosed in parentheses before the data, and the value can be converted to an integer type or floating point type, such as " (int)$str", "(float)$str"; 2. Use the intval() function to convert the value to an integer type, the syntax is "intval(value)"; 3. Use the floatval() function to convert the value Convert to floating point type, syntax "floatval(value)"; 4. Use the settype() function.
The operating environment of this tutorial: windows7 system, PHP8 version, DELL G3 computer
php provides two numerical types:
integer (integer)
float (floating point, also called double)
To discuss forcing a value to a numeric type is to discuss converting a value to an integer or floating point type. Let’s talk about the conversion method.
Case 1: Force the value to an integer type (3 methods)
Method 1: Add before the data Target type "(int)" or "(integer)" enclosed in parentheses
(int), (integer): Convert to integer type;
<?php header("Content-type:text/html;charset=utf-8"); $str = '123.456abc'; echo '变量 $str 的类型为:'.gettype($str).'<br>'; $int1 = (int)$str; echo '变量 $int1 的类型为:'.gettype($int1).'<br>'; $int2 = (integer)$str; echo '变量 $int2 的类型为:'.gettype($int2).'<br>'; ?>
Method 2: Use the intval() function
The intval() function is used to obtain the integer value of a variable.
intval() function returns the integer value of variable var by using the specified base conversion (default is decimal). intval() cannot be used with object, otherwise an E_NOTICE error will be generated and 1 will be returned.
Syntax:
int intval ( mixed $var [, int $base = 10 ] )
Parameter description:
$var: The quantity value to be converted to integer.
#$base: The base used for conversion.
If base is 0, the base used is determined by detecting the format of var:
If the string includes "0x" ( or "0X"), use hexadecimal (hex); otherwise,
If the string starts with "0", use octal (octal); otherwise,
Decimal will be used.
Return value: The integer value of var is returned on success, and 0 is returned on failure. An empty array returns 0, a non-empty array returns 1.
Example: Convert the value to int type
<?php header("Content-type:text/html;charset=utf-8"); $str1="123d"; $str2=intval($str1); echo "字符串型转为int型:"; var_dump($str1); var_dump($str2); ?>
Method 3: Use the settype() function
settype() function: used to set the type of variables.
The type that can be set is:
"boolean" (or "bool", starting from PHP 4.2.0)
"integer" (or "int" since PHP 4.2.0)
"float" (only available since PHP 4.2.0, for older versions "double" used in is now deprecated)
"string"
"array"
"object"
"null" (from PHP 4.2.0)
Note: The settype() function will change the variable type itself.
Example: Convert floating point type to int type
<?php header("Content-type:text/html;charset=utf-8"); $str="52.36"; echo '原 $str:<br>'; var_dump($str); settype($str, 'integer'); echo '<br>现 $str:<br>'; var_dump($str); ?>
Case 1: Convert the value to floating point type ( 3 methods)
Category In the first case, there are also 3 common methods to force the value to a floating point type.
Method 1: Add the target type "(float)", "(double)" or "(real)" enclosed in parentheses before the data
(float), (double), (real): Convert to floating point type;
<?php header("Content-type:text/html;charset=utf-8"); $str = '123.456abc'; var_dump($str); $float1 = (float)$str; var_dump($float1); $float2 = (double)$str; var_dump($float2); $float3 = (real)$str; var_dump($float3); ?>
method 2: Use the floatval() function
The floatval() function is a function that specifically converts other types into floating point types. It can obtain the floating point value of a variable.
Note: floatval cannot be used for arrays or objects.
<?php header('content-type:text/html;charset=utf-8'); $var = '122.34343runoob'; echo "原数据类型:"; var_dump($var); $float= floatval($var); echo "修改后的类型:"; var_dump($float); ?>
<?php header('content-type:text/html;charset=utf-8'); $var = TRUE; echo "原数据类型:"; var_dump($var); $float= floatval($var); echo "修改后的类型:"; var_dump($float); ?>
Method 3: Use the settype() function
settype () function can convert the value to the specified data type (controlled by the second parameter).
You only need to set the second parameter of the function to "float" to convert the data into a floating point number.
Note: This function will modify the original variable; if the setting is successful, it will return TRUE, if it fails, it will return FALSE.
<?php header('content-type:text/html;charset=utf-8'); $foo = "5bar"; // string $bar = true; // boolean echo "原数据类型:"; var_dump($foo); var_dump($bar); settype($foo, "float"); settype($bar, "float"); echo "修改后的类型:"; var_dump($foo); var_dump($bar); ?>
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to force a value to a numeric type in php. For more information, please follow other related articles on the PHP Chinese website!