Home  >  Article  >  Backend Development  >  How to force a value to a numeric type in php

How to force a value to a numeric type in php

青灯夜游
青灯夜游Original
2023-01-30 16:50:133875browse

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.

How to force a value to a numeric type in php

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 = &#39;123.456abc&#39;;
echo &#39;变量 $str 的类型为:&#39;.gettype($str).&#39;<br>&#39;;
$int1 = (int)$str;
echo &#39;变量 $int1 的类型为:&#39;.gettype($int1).&#39;<br>&#39;;
$int2 = (integer)$str;
echo &#39;变量 $int2 的类型为:&#39;.gettype($int2).&#39;<br>&#39;;
?>

How to force a value to a numeric type in php

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); 
?>

How to force a value to a numeric type in php

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 &#39;原 $str:<br>&#39;;
var_dump($str); 

settype($str, &#39;integer&#39;);
echo &#39;<br>现 $str:<br>&#39;;
var_dump($str); 
?>

How to force a value to a numeric type in php

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 = &#39;123.456abc&#39;;
var_dump($str);
$float1 = (float)$str;
var_dump($float1);
$float2 = (double)$str;
var_dump($float2);
$float3 = (real)$str;
var_dump($float3);
?>

How to force a value to a numeric type in php

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(&#39;content-type:text/html;charset=utf-8&#39;);   
$var = &#39;122.34343runoob&#39;;
echo "原数据类型:";
var_dump($var);
$float= floatval($var);
echo "修改后的类型:";
var_dump($float);
?>

How to force a value to a numeric type in php

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$var = TRUE;
echo "原数据类型:";
var_dump($var);
$float= floatval($var);
echo "修改后的类型:";
var_dump($float);
?>

5-How to force a value to a numeric type in php

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(&#39;content-type:text/html;charset=utf-8&#39;);   
$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);
?>

How to force a value to a numeric type in php

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!

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