一、for循环
最简单也是最直接的方法,用for循环来遍历数组。对于已知维数的数组可以判断,但如果是未知的多维数组,该怎么办?
二、implode();
用implode()将数组输出为字符串,判断输出的字串是否为空。初看上去似乎是个不错的方法,可惜跟上一点一样,对于二维以上数组就不行了。举个例子:
$arr= array(array(),array(),array());
$str = implode(',',$arr);
if(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($arr)) echo "空";
else echo "非空";
结果还是非空
可以在以上例子上加一句print_r($arr);看看...
基本上cpyeh能想到的加上网上找到的也就以上这些,不明白的是网上居然有人会提到is_array(),可能是对php还不是很了解,需要多翻翻手册。很遗憾最终还是找不到一个完美的解决方法,不过对于一般的应用,第一种或第二种应该可以满足了,cpyeh选了方便的第二种。如果对以上例子有疑问欢迎留言在此互相交流。
- 浏览: 26681 次
相关推荐
今天完成一个算法的过程中,有几个需求模块,其中就有判断$a数组是否是$b数组的子集,可能最近我写c比较多,直接就用for循环实现了,但是感觉代码量比较大,不够优雅!在qq群里集思广益了一下,发现很多php提供的...
复制代码 代码如下://判断一个数组是否为空 /** array( ); 空 array( array( ), array( ), array( ) ); 空 array( array( ), array( array( ), array( 1=>1 ) ), array( ) ); 非 空 */ function is_array_null($...
我们使用PHP的rand函数生成了两个随机数组,分别是1到36中随机选取的5...需要注意的是,我们使用了in_array函数来判断一个元素是否在数组中。同时,我们还需要根据实际情况修改代码中的数组范围和选取的随机元素个数。
PHP判断数组为空首选方法:count($arr),size($arr); 复制代码 代码如下: $arr= array(“”); echo count($arr); echo size($arr); //输出1 复制代码 代码如下: $arr= array(); echo count($arr); echo size...
本文实例讲述了php判断一个数组是否为有序的方法。分享给大家供大家参考。具体分析如下: 这段代码的时间复杂度为O(n) <?php function JudegSortArray($array) { if ($array [0] > $array [1]) { $flag = 1; ...
例1 代码如下:/* * * 判断在数组中是否含有给定的一个变量值 * 参数: * needle:需要查询的值 * haystack:被查询的数组 * 在haystack中查询needle是否存在,如果找到返回true,否则返回false。 * 此函数只能对字符...
HP没有内置判断是否索引数组的方法,简单实现了一个,用法:复制代码 代码如下:echo is_assoc($array)?’索引数组’:’不是索引数组’;is_assoc函数如下:复制代码 代码如下: function is_assoc($array) { if(is_...
如何判断两个数组相等呢?其实很简单,用 == 或者 === 就可以了 php手册里说明如下: 那像 array(‘k’=>array())这样的多维数组能用如上方法判断相等吗?当然也可以。 若数组是数字索引的,就要注意一下了,见代码...
如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。 复制代码 代码如下:$arr = array(‘可以’,’如何’,’方法’,’知道’,’沒有’,’不要’);//in_array(value,array,type)$isin = in_array(...
本篇文章是对判断php数组维度的代码进行了详细的分析介绍, 需要的朋友参考下
1. PHP中的数组 与其把PHP中的数组理解为我们狭义上的“数组”,我觉得还不妨把这个数组一分为二,一者为我们常规上的数组,一者为我们的Dictionary。 2. 创建数组 如果数组不存在,那么向数组中存放值将会创建数组...
=0 and $high == 0) //判断是否为第一次调用 { $high = count($array); } if($low <= $high) //如果还存在剩余的数组元素 { $mid = intval(($low+$high)/2); //取$low和$high的中间值 if ($array[$mid
可以进行对数据的判断和显示出数据(可在smarty中应用)
最近在用php写一段代码时,要用到判断某值是否在另外一组值中。而in_array 函数就是用来检查数组中是否存在某个值 。直接通过概念理解比较模糊,可以通过具体例子了解其作用。 语法如下: bool in_array( mixed ...
PHP中有isset方法来检查数组元素是否存在,在Python中无对应函数。 Python的编程理念是“包容错误”而不是“严格检查”。举例如下: 复制代码 代码如下: Look before you leap (LBYL): if idx < len(array): ...
复制代码 代码如下:<?php/** * 返回数组的维度 * @param [type] $arr [description] * @return [type] [description] */function arrayLevel($arr){ $al = array(0); function aL($arr,&$al,$level=0){ ...
复制代码 代码如下:<?php/** * 返回数组的维度 * @param [type] $arr [description] * @return [type] [description] */function arrayLevel($arr){ $al = array(0); function aL($arr,&$al,$level=0){ ...
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 实现代码如下: <?php function FindNumsAppearOnce($array) { // write code here // return list, 比如[a,...