首页 > 后端开发 > PHP问题 > 掌握PHP删除数组中的空值的小技巧

掌握PHP删除数组中的空值的小技巧

autoload
发布: 2023-03-08 19:22:02
原创
2726 人浏览过

方法一:利用循环(本文以foreach为例)

    语法结构如下:

foreach (array_expression as $value)
登录后复制
foreach (array_expression as $key => $value)
登录后复制

具体用法请参考:《php foreach的用法详解》,具体代码如下:

<?php  
foreach( $arr as $k=>$v){  
    if( !$v )  
        unset( $arr[$k] );  
}  
?>
登录后复制

这种方法比较简单,初学者便于理解,但是复杂度较高,消耗较多的内存,所以一般不建议使用。

方法二:利用array_filter()函数

语法结构如下:

array_filter( array $array [, callable $callback [, int $flag = 0  ]] ) : array
登录后复制

依次将 array 数组中的每个值传递到callback 函数。如果 callback 函数返回 true,则 array 数组的当前值会被包含在返回的结果数组中,数组的键名保留不变。

  • array 要循环的数组

  • callback使用的回调函数,如果没有提供 callback 函数,将删除 array 中所有等值为FALSE 的条目。

  • flag决定callback接收的参数形式:(1)ARRAY_FILTER_USE_KEY - callback接受键名作为的唯一参数。

    (2)ARRAY_FILTER_USE_BOTH - callback同时接受键名和键值。

返回值:被过滤后的数组。

具体代码如下:

<?php   
$arr = array(   
             0 => &#39;hello&#39;,   
             1 => false,   
             2 => -1,   
             3 => null,   
             4 => &#39;&#39;  
          );   
  echo "<pre class="brush:php;toolbar:false">";
  var_dump(array_filter($arr));   
?>
登录后复制

运行结果如下:

/*   array(2) {
    [0]=>
    string(5) "hello"
    [2]=>
    int(-1)
  } */
登录后复制

推荐:php视频教程 php教程

以上是掌握PHP删除数组中的空值的小技巧的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板