方法一:利用循环(本文以foreach为例)
语法结构如下:
foreach (array_expression as $value)
foreach (array_expression as $key => $value)
具体代码如下:
<?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 => 'hello',   
             1 => false,   
             2 => -1,   
             3 => null,   
             4 => ''  
          );   
  echo "<pre>";
  var_dump(array_filter($arr));   
?>
运行结果如下:
/*   array(2) {
    [0]=>
    string(5) "hello"
    [2]=>
    int(-1)
  } */
			
	声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
		
评论(0)