Home > Article > Backend Development > How to convert element value of php array to int integer type
Conversion steps: 1. Use the foreach statement to traverse the array by referencing the loop, the syntax is "foreach ($array as &$value){//Loop body statement block;}"; 2. In the loop body , use the is_int() function to determine whether the element "$value" is an integer type. If not, use the intval() function to convert it to the int type. The syntax "if(!is_int($value)){$value=intval($ value);}".
The operating environment of this tutorial: Windows 7 system, PHP version 8.1, DELL G3 computer
PHP is a weak data type programming language, so Array variables in PHP can store any number of data of any type, and can implement the functions of data structures such as heaps, stacks, and queues in other strong data types.
Simply put, there is no restriction on the type of PHP array elements, which can be numbers (integers and decimals), strings, Boolean values, arrays, Object objects and other types.
So how do you make the elements in the php array all of type int? Just convert elements that are not of type int into integer type. Here are the implementation steps.
Conversion steps:
Step 1. Use the foreach statement to traverse the array through a reference cycle
foreach ($array as &$value){ //循环体语句块; }
Traverse the given $array array, and assign the value of the current array to $value in each loop.
Generally, when using the foreach statement to traverse an array, it operates on the backup of the array and generally does not affect the array itself.
But if you use a reference loop (add & before $value, so that the foreach statement will assign a value by reference instead of copying a value), then operating on the array in the loop body will affect the array itself.
Step 2: In the loop body, convert the element to int integer type
Use the is_int() function to determine whether the element $value is an integer type. If not, use the intval() function to convert it to int type
if(!is_int($value)){ $value=intval($value); }
Implementation code:
<?php header("content-type:text/html;charset=utf-8"); function f($arr){ var_dump($arr); foreach($arr as &$v){ if(!is_int($v)){ $v=intval($v); } } unset($v); // 最后取消掉引用 echo "转换后"; var_dump($arr); } ?>
Call function
$a = array(11,"254",12,3.14,3,5); f($a);
$b = array(FALSE,"254",3.14,3,null,TRUE); f($b);
Function description:
1. is_int() function
is_int() function is used to detect whether the variable is an integer. If the specified variable is an integer, TRUE, otherwise it returns FALSE.
Alias function (): is_integer(), is_long()
Note: If you want to test whether a variable is a number or a string of numbers (such as form input, they Usually a string), is_numeric() must be used.
2. Intval() function
intval() rounds directly, discards decimals, and retains integers
<?php $str="123.9"; var_dump($str); $int=intval($str); //转换后数值:123 var_dump($int); ?>
Extended knowledge:Convert the value to int (integer) type
1), use the settype() function
settype (var,type)
function is used to set the type of a variable and can convert the variable to a specified type.
Just set the parameter type to "int" or "integer" to convert the variable to int type. Note: This function modifies the original variable, and the return value is a Boolean type (TRUE is returned when the setting is successful, and FALSE is returned when it fails.).
<?php $str="123.9"; var_dump($str); $int=settype($str,"int"); var_dump($int); //输出bool(true) var_dump($str); //输出int(12) ?>
2), use forced type conversion
Add the target type "(int)" enclosed in parentheses before the number to be converted or "(integer)" to force it to be an integer.
<?php $n=123.9; var_dump($n); $num1=(integer)$n; $num2=(int)$n; var_dump($num1); var_dump($num2); ?>
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to convert element value of php array to int integer type. For more information, please follow other related articles on the PHP Chinese website!