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

 4315

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

语法结构如下:

  1. foreach (array_expression as $value)
  1. foreach (array_expression as $key => $value)

具体代码如下:

  1. <?php  
  2. foreach( $arr as $k=>$v){  
  3.     if( !$v )  
  4.         unset( $arr[$k] );  
  5. }  
  6. ?>

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


方法二:利用array_filter()函数

语法结构如下:

  1. 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接受键名作为的唯一参数。

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

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


具体代码如下:

  1. <?php   
  2. $arr = array(   
  3.     0 => 'hello',   
  4.     1 => false,   
  5.     2 => -1,   
  6.     3 => null,   
  7.     4 => '' 
  8. );   
  9. echo "<pre>";
  10. var_dump(array_filter($arr));   
  11. ?>

运行结果如下:

  1. /*   
  2. array(2) {
  3.     [0]=>
  4.     string(5) "hello"
  5.     [2]=>
  6.     int(-1)
  7. } */


本文网址:https://www.zztuku.com/detail-8736.html
站长图库 - 掌握PHP删除数组中的空值的小技巧
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐