PHP中如何提取出数字元素拼接为一个新数组

这篇文章主要介绍PHP中如何提取出数字元素拼接为一个新数组,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

方法1: 利用foreach语句

<?php 
$array = array("php", 11, '', 12, "亿速云",13,"green",2021,"mysql","14",15); 
foreach($array as $value){
	if(is_numeric($value)){
		$result[]=$value;
	}
}
var_dump($result);
?>

分析代码:

  • 使用foreach语句遍历数组,在每次循环中将键值赋给$value

  • 利用is_numeric()函数检测$value是否为数字或数字字符串;

  • 如果是数字或数字字符串,则将$value存入$results数组中。

这样$results数组中的全是$array数组中的数字元素,使用var_dump($result),输出结果为:

PHP中如何提取出数字元素拼接为一个新数组

方法2:使用array_filter() 函数

在之前的文章中,我们已经知道array_filter() 函数可以用回调函数来过滤数组中的元素,会将数组元素传递给回调函数进行处理。

直接给出实现代码:

<?php 
$array = array("php", 11, '', 12, "亿速云",13,"green",2021,"mysql","14",15); 
function filter_number($value){
	if(is_numeric($value)){
		return TRUE;
	}
}

$result=array_filter($array,"filter_number");
var_dump($result);
?>

输出结果为:

PHP中如何提取出数字元素拼接为一个新数组

下面来了解一下array_filter() 函数

array_filter() 函数会迭代数组中的每个值,将每个键值传递给用户定义的函数或回调函数;如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组(数组键名保持不变)。语法格式为:

array_filter ($array , function callbackfn ($value[, $key]),$mode)
  • $array :数组对象,不可省略。

  • function callbackfn ($value[, $key]):回调函数,可省略;如果省略回调函数,则默认过滤空值。

  • $mode:可省略,决定 callback 接收的参数形式:

    • ARRAY_FILTER_USE_KEY - callback 接受键名作为的唯一参数

    • ARRAY_FILTER_USE_BOTH - callback 同时接受键名和键值

    • 默认值为 0 ,只传递值作为 callback 回调的唯一参数。

以上是“PHP中如何提取出数字元素拼接为一个新数组”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!