Home  >  Article  >  Backend Development  >  How to convert element value of php array to int integer type

How to convert element value of php array to int integer type

青灯夜游
青灯夜游Original
2022-09-21 18:14:572835browse

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);}".

How to convert element value of php array to int integer type

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

How to convert element value of php array to int integer type

$b = array(FALSE,"254",3.14,3,null,TRUE); 
f($b);

How to convert element value of php array to int integer type

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

How to convert element value of php array to int integer type

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

How to convert element value of php array to int integer type

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

How to convert element value of php array to int integer type

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!

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