php如何检测数组是否存在,php – 如何检查数组元素是否存在?
您可以使用语言构造
isset或函数
array_key_exists。
isset应该有点快(因为它不是一个函数),但如果元素存在并且值为NULL,则返回false。
例如,考虑这个数组:
$a = array(
123 => 'glop',
456 => null,
);
而这三个测试,依靠isset:
var_dump(isset($a[123]));
var_dump(isset($a[456]));
var_dump(isset($a[789]));
第一个会得到你(元素存在,并且不为null):
boolean true
而第二个会得到你(元素存在,但是null):
boolean false
最后一个会得到你(元素不存在):
boolean false
另一方面,使用array_key_exists这样:
var_dump(array_key_exists(123, $a));
var_dump(array_key_exists(456, $a));
var_dump(array_key_exists(789, $a));
你会得到这些输出:
boolean true
boolean true
boolean false
因为,在两种第一种情况下,元素存在 – 即使它在第二种情况下为null。当然,在第三种情况下,它不存在。
对于像你的情况,我一般使用isset,考虑到我从来没有在第二种情况…但选择使用哪一个现在取决于你;-)
例如,你的代码可能变成这样:
if (!isset(self::$instances[$instanceKey])) {
$instances[$instanceKey] = $theInstance;
}
php如何检测数组是否存在,php – 如何检查数组元素是否存在?相关推荐
- php 数组是否存在,php in_array() 检查数组中是否存在某个值详解
php有时候需要判断某一个值是否存在于数组中,我们可以直接使用php内置函数in_array()来实现判断.php in_array 函数用于检查数组中是否存在某个值,如果存在,则返回true,否则返 ...
- php模板数组长度判断,php数组是否存在指定字符与数组长度检测实例_PHP教程
本教程只讲了二个地方一个是利用数组函数in_array 检查数组中是否存在指定字符串,与利用count函数来判断数组长度.定义和用法 本教程只讲了二个地方一个是利用数组函数in_array 检查数组中 ...
- [JavaScript] JavaScript数组挖掘,不只是讲数组哟(2)
课程来源:后盾人 上一篇的内容:[JavaScript] JavaScript数组挖掘,不只是讲数组哟 数组引用类型分析,多维数组,用Array.of为数组创建细节,类型检测与转换,在一个数组后面加一 ...
- [JavaScript] JavaScript 数组挖掘,不只是讲数组哟
课程来源:后盾人 数组引用类型分析 数组的定义 const array = new Array('hello', 'dust', 1, 2, 3, 4, 5) console.log(array) l ...
- 为什么处理排序数组要比处理未排序数组快?
这是一段C ++代码,显示了一些非常特殊的行为. 出于某些奇怪的原因,奇迹般地对数据进行排序使代码快了将近六倍: #include <algorithm> #include <cti ...
- java数组求和递归,js数组去重 数组拼接 替换数组中的指定值 递归数组 判断数组中是否存在指定值 数组求和 根据条件判数组值...
// 数组去重 var arr1 = [1,1,2,3,4,5,6,3,2,4,5,'a','b','c','a',6,7,8,3,5,7,8,34] // console.log(Array.fro ...
- matlab单元数组和结构,Matlab使用单元数组和结构数组
Matlab使用字符串数组.单元数组(cell array)和结构数组 (struct array) 要在MALTAB中实现比较复杂的编程,就不能不用单元数组(cell array)和结构数组(str ...
- 原生JS去除二维数组中重复了的一维数组
<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" ...
- 数组方法中会更改原数组,不会更改原数组(详细)
1.不会改变原来数组的有: concat() 连接两个或更多的数组,并返回结果. 如果arr.concat()里面不放数组参数,则会浅拷贝arr 如果参数不是数组,它不会递归到嵌套数组参数中 数据类 ...
最新文章
- 鸿蒙系统方舟运行时,方舟编译器立功!第三方App已经落地,距离鸿蒙系统还会远吗?...
- 计算机函数match,秒杀vlookup函数,Index+Match函数组合
- position的四种属性
- python pipenv_为什么Python开发人员应该使用Pipenv
- java学习日记(1-7)
- jquery 设置 select 默认值方法
- php自动关机代码,vb下的恶搞关机程序
- Windows10 添加开始菜单未显示应用到磁贴的方法
- 贴心的特效制作软件,抖音特效开放平台就能找到
- centos 虚拟机输入大小写混乱问题
- “贵州与您相约”英文网站8月18日正式上线;大华股份助力长兴打造景区数字化管理样板 | 全球旅报...
- Redis(1)入门指令
- ff新推荐的关闭办法
- 排名第一的亚马逊关键词工具
- 运行fis3 server start --type smarty启动时,报错The “data“ argument must be of type string or an instance of
- 虚幻4快速上手实战系列 之 三维弹球
- findstr 用法
- 一键ghost(1key ghost)更改备份路径的方法
- 对semantic的部分总结
- 阿里云产品推荐——网关
热门文章
- node debug包
- 减少科研文章写作错误的一点小技巧
- Eclipse的SVN插件移动中文名称文件提示org.tigris.subversion.javahl.ClientException: Bogus URL...
- linux 安全 ***检测 杀毒 rootkit
- 八天学会MongoDB:第三天 细说高级操作
- WPF下可编辑Header的Tab控件实现
- Para list设置
- clion 工程打开选项 安全模式预览 Preview in Safe Mode 信任工程 Trust Project 简介
- linux c getrlimit sysconf 系统限定 实例
- easyui 添加 自定义图标