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

Avi*_*ohn 0 php idioms web

在JavaScript中,可以检查myObject.key是否存在值(未定义)真实.

if (myObject.key) ...
Run Code Online (Sandbox Code Playgroud)

是否有PHP等价物?或者我是否必须继续编写代码isset(my_array['key']) && my_array['key']以实现所需的结果?我觉得它违反DRY并且看起来很难看.

小智 8

在php中有三个"级别"的检查:

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

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

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

检查密钥是否存在且不为null - 如果值存在且不为null,则返回true,但它可以是bool(false),int(0),string""等等.

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

检查一个键是否存在且是否真实,对于bool(false),int(0),非存在键和null返回false,但对于bool(true),int(1),int(-1),string为true长度> 0等等.实际上它的功能是空的(),但也经常使用否定.这应该是你正在寻找的.