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

WBOY
풀어 주다: 2016-07-13 10:55:36
원래의
944명이 탐색했습니다.

我们介绍关于php中数组的操作,删除数组中指定值或判断数组中是否有值或清除空值操作,有需要的同学可以参考一下。

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

implode(); 此函数可参考http://www.bKjia.c0m/phper/29/2dc95be9381b4bb1753083c09fda1a36.htm
用implode()将数组输出为字符串,判断输出的字串是否为空。初看上去似乎是个不错的方法,可惜跟上一点一样,对于二维以上数组就不行了。举个例子:

 代码如下 复制代码

$arr= array(array(),array(),array());
$str = implode(',',$arr);

if(empty($str)) echo "空";
else echo "非空";

很明显$arr是个含有三个空数组的二维数组,应该也算是空的,可是输出的确是非空。判断失败。
三、count(); 可参考http://www.bKjia.c0m/w3school/php/func_array_count.htm

 代码如下 复制代码

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

四、in_array('', $arr)); 函数用法可参考http://www.bKjia.c0m/phper/24/c5b81a8af14b1c0928eea343f59b454a.htm

 代码如下 复制代码
$arr= array("d","s","");
echo in_array('', $arr);

这个只能说明数组中有空的元素,不能证明数组是空的。很明显也不行。
五、empty(); 函数用法可参考http://www.bKjia.c0m/so/php+empty()
这个cpyeh觉得跟前面几种方法差不多

 代码如下 复制代码

$arr= array("","","");
if(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 {
$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;
}

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632230.htmlTechArticle我们介绍关于php中数组的操作,删除数组中指定值或判断数组中是否有值或清除空值操作,有需要的同学可以参考一下。 首先我们来看看关...
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!