In PHP programming, when using arrays, it is often necessary to process numeric data, which often involves the operation of retaining and removing decimal points. Removing the decimal point of an array means clearing the decimal part of each element in the array and leaving only the integer part. This can be achieved in a variety of ways. This article will focus on how to remove the decimal point from an array and discuss several different implementation methods to help readers better master this operation technique.
Method 1: Forced type conversion
PHP provides a method of forced type conversion, which can convert a numeric type into an integer type (int), thus removing the decimal places. For each element in the array, you can use a cast to convert it to an integer. The specific implementation steps are as follows:
$nums = [3.14, 2.718, 1.618]; // 定义一个包含小数的数组 foreach ($nums as &$num) { // 遍历数组,并使用引用传递元素 $num = (int) $num; // 强制类型转换,将小数位清除 } print_r($nums); // 输出处理后的数组
In this sample code, an array containing decimals $nums
is defined, and then a foreach
loop is used to traverse each element in the array element. In the loop body, use forced type conversion to remove the decimal part, and then modify the value of the element in the original array through reference passing. Finally, use the print_r
function to output the modified array.
It should be noted that forced type conversion can only convert the original numerical type into an integer type. Therefore, if some elements in the original array are not of numerical type, a type conversion error will occur. In addition, forced type conversion will round off the decimal part. If you need to round the original number, you need to use other methods.
Method 2: Use built-in functions
PHP provides a number of commonly used built-in functions that can be used to process numeric data. Among them, the round
function and the floor
function can be used to remove the decimal part. The specific method is as follows:
$nums = [3.14, 2.718, 1.618]; // 定义一个包含小数的数组 foreach ($nums as &$num) { // 遍历数组,并使用引用传递元素 $num = round($num); // 使用round函数去除小数部分,四舍五入 // $num = floor($num); // 使用floor函数去除小数部分,向下取整 } print_r($nums); // 输出处理后的数组
In this sample code, similar to method one, # is also used. ##foreachLoop through each element in the array. The difference is that the decimal part of the element is removed using the
round function or the
floor function, where the
round function rounds the value and
floor The function rounds the value down.
round function or the
floor function to determine how to remove the decimal part, which is not flexible enough to meet all needs.
$nums = [3.14, 2.718, 1.618]; // 定义一个包含小数的数组 $newNums = preg_replace('/\.\d+/', '', $nums); // 使用正则表达式去除小数部分 print_r($newNums); // 输出处理后的数组
preg_replace, a regular expression is used to remove the decimal part of each element in the array. Among them,
\.\d in the regular expression means matching the decimal point and a string of numbers after it (which may contain multiple numbers). Using an empty string to replace the match can remove the decimal part. the goal of.
The above is the detailed content of How to remove decimal point from array in php. For more information, please follow other related articles on the PHP Chinese website!