好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php删除数组中的空值或指定值操作 - php数组

php删除数组中的空值或指定值操作

首先我们来看看关于php如何操作数组中的空值的多种方法

一,implode(); 

用implode()将数组输出为字符串,判断输出的字串是否为空。初看上去似乎是个不错的方法,可惜跟上一点一样,对于二维以上数组就不行了。举个例子:

$arr =  array ( array (), array (), array ());  $str  = implode( ',' , $arr );  if ( empty empty ( $str ))  echo   "空" ;  else   echo   "非空" ; 

很明显$arr是个含有三个空数组的二维数组,应该也算是空的,可是输出的确是非空。判断失败。

二、count();代码如下:

$arr =  array ( "" , "" , "" );  echo   count ( $arr ); 

三、in_array('', $arr)); 代码如下:

$arr =  array ( "d" , "s" , "" );  echo  in_array( '' ,  $arr ); 

这个只能说明数组中有空的元素,不能证明数组是空的,很明显也不行。

四、empty(); 这个cpyeh觉得跟前面几种方法差不多,代码如下:

$arr =  array ( "" , "" , "" );  if ( empty empty ( $arr ))  echo   "空" ;  else   echo   "非空" ;  //结果还是非空  

六、用strlen(), 没内容的话好象长度都为1,结合上面实例我们写一个完整的删除数组空值的元素,代码如下:

function  array_remove_key( $array ,  $keys )   {   $num  =  count ( $keys );   $num_last  =  $num  - 1;   $this_array_0  = & $array ;   $last_key  =  $keys [ $num_last ];   for  ( $i  = 0;  $i  <  $num_last ;  $i ++)   {   $this_key  =  $keys [ $i ];   $this_var_name  =  'this_array_'  .  $i ;   $next_var_name  =  'this_array_'  . ( $i  + 1);   if  (! array_key_exists ( $this_key , $ $this_var_name )) {   break ;   }   $ $next_var_name  = &${ $this_var_name }[ $this_key ];   }   unset(${ $next_var_name }[ $last_key ]);   return   $array ;   } 

查看更多关于php删除数组中的空值或指定值操作 - php数组的详细内容...

  阅读:44次