Home  >  Article  >  Backend Development  >  How to convert values ​​in an array to numbers in php

How to convert values ​​in an array to numbers in php

PHPz
PHPzOriginal
2023-04-18 10:18:591113browse

In PHP development, we usually need to perform numerical conversion on the values ​​in the array. Especially during data processing and arithmetic operations, we need to ensure that the values ​​in the array are all numeric types. This article will introduce several ways to convert values ​​in PHP arrays to numeric types.

1. Use (int) to cast

In PHP, you can use (int) to cast a variable to an integer type. Likewise, we can also use it to force the values ​​in an array to be converted to numeric type. The following is a sample code:

$array = array('1', '2', '3');

foreach ($array as $key => $value) {
    $array[$key] = (int) $value;
}

var_dump($array);

The output result is:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

The above code will traverse the array$array and use cast to convert each array element to an integer type.

It should be noted that cast type conversion can only convert strings to numeric types. If the elements in the array are other types of data (such as Boolean, floating point, etc.), the cast will fail.

2. Use the intval() function to convert

PHP provides an intval() function to convert variables to integer types. Different from forced type conversion, intval() can convert variables of various types such as strings, floating point numbers, and Boolean values ​​into integer types. The following is a sample code:

$array = array('1', '2.5', true, false, '5');

foreach ($array as $key => $value) {
    $array[$key] = intval($value);
}

var_dump($array);

The output result is:

array(5) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(1)
  [3]=>
  int(0)
  [4]=>
  int(5)
}

In the above code, use the intval() function to convert each element in the array to an integer type . Since the rules for converting Boolean values ​​to integers are true is converted to 1 and false is converted to 0, so in the output result, the Three elements are converted to 1, and the fourth element is converted to 0.

It should be noted that when using the intval() function, if the parameter is empty or cannot be converted to an integer type, 0 will be returned.

3. Use the array_map() function to convert

In addition to the for loop and foreach loop, you can also use the array_map() function to convert the elements in the array into numbers. type. array_map() The function can process each element in the incoming array through the callback function and return the processed new array. The following is a sample code:

$array = array('1', '2', '3');

$array = array_map('intval', $array);

var_dump($array);

The output result is:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

The above code passes the intval() function as a callback function to array_map() function. array_map() will iterate through each element and call the callback function on it, and finally return the new processed array. In this case, array_map() will return an array with each string element converted to an integer type.

It should be noted that the array_map() function does not change the original array, but returns a new array. If you want to change the original array, you need to assign the new array back to the original array.

Summary

This article introduces three methods to convert values ​​in PHP arrays to numeric types. You can easily convert elements in an array to a numeric type, whether using a cast, the intval() function, or the array_map() function. During the development process, just choose the appropriate method according to actual needs.

The above is the detailed content of How to convert values ​​in an array to numbers 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