首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查数组键是否存在,是否在同一命令中真实存在?

检查数组键是否存在,是否在同一命令中真实存在?
EN

Stack Overflow用户
提问于 2015-11-15 21:21:58
回答 2查看 1.7K关注 0票数 4

在JavaScript中,人们可以检查myObject.key以查看值是否存在(而不是未定义的)和真实性。

代码语言:javascript
运行
复制
if (myObject.key) ...

有PHP等效吗?还是必须继续编写代码(如isset(my_array['key']) && my_array['key'] )以获得所需的结果?我觉得它违反了干燥,看上去很丑。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-15 21:30:16

在php中有三个“级别”:

  1. array_key_exists($key,$array) - http://php.net/manual/en/function.array-key-exists.php

检查数组中是否存在密钥。返回true,即使该值为null。

  1. isset($array$key) - http://php.net/manual/en/function.isset.php

检查一个键是否存在和不为空-如果值存在且不为空,则返回true,但是它可以是bool(false)、int(0)、string "“等等。

  1. !空($array$key)- http://php.net/manual/en/function.empty.php

检查键是否存在并为true,对于bool( false )、int(0)、不存在的键和null返回false,但对于bool(true)、int(1)、int(-1)、长度>0的字符串等返回true。实际上,函数它是空(),但也经常使用否定式。这应该是你要寻找的东西。

票数 15
EN

Stack Overflow用户

发布于 2015-12-03 09:24:36

您可以使用错误抑制操作符@:

代码语言:javascript
运行
复制
if (@$_GET['fantasyvar']) {
    //$_GET['fantasyvar'] is set and truthy
}

注意:这不是很好的风格,会使调试更加困难。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33725209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档