php专区

 首页 > php专区 > PHP基础 > 数组 > php删除数组中的空值或指定值操作 - php数组

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

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

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

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

一,implode(); 

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

  1. $arrarray(array(),array(),array()); 
  2. $str = implode(',',$arr); 
  3. if(emptyempty($str)) echo "空"
  4. else echo "非空"

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

二、count();代码如下:

  1. $arrarray("","",""); 
  2. echo count($arr); 

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

  1. $arrarray("d","s",""); 
  2. echo in_array(''$arr); 

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

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

  1. $arrarray("","",""); 
  2. if(emptyempty($arr)) echo "空"
  3. else echo "非空"
  4. //结果还是非空 

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

  1. function array_remove_key($array$keys)  
  2. {  
  3. $num = count($keys);  
  4. $num_last = $num - 1;  
  5. $this_array_0 = &$array;  
  6. $last_key = $keys[$num_last];  
  7. for ($i = 0; $i < $num_last$i++)  
  8. {  
  9. $this_key = $keys[$i];  
  10. $this_var_name = 'this_array_' . $i;  
  11. $next_var_name = 'this_array_' . ($i + 1);  
  12. if (!array_key_exists($this_key, $$this_var_name)) {  
  13. break;  
  14. }  
  15. $$next_var_name = &${$this_var_name}[$this_key];  
  16. }  
  17. unset(${$next_var_name}[$last_key]);  
  18. return $array;  
分享到:
php对数组元素去重复值 - php数组
php对数组元素去重复值 最简单的办法利用php自带的函数用array_flip实现去重效果,另一个方法是使用php的array_flip函数来间接的实现去重效果,array_flip是反转数组键和值的函数,他有个特性就是如果数组中有二个值是一样的,那么反转后会保留最后一个键和值.利用这个特性我们用他来间接的实现...
php 数组之删除空数组程序 - php数组
php 数组之删除空数组程序 删除空元素的数组方法很多了,我今天来介绍两种经典的方法,一个是利用了array_filter函数,另一个也利用函数调用自定义函数。 实例代码一如下: $str1_array=array(&#039;php教程网&#039;,&#039;&#039;,&#039;http://www.phpfensi&#039;,&#039;&#039;,&#0...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……