php-在使用表值之前检查表键是否存在的正确方法是什么?
作者:互联网
我想在使用$table [‘key’]之前检查它是否存在.正确的做法是什么?
我见过很多不同的代码,但是我不知道它们是否等效.这里有一些例子 :
// 1
if(isset($table['key'])) { ... }
// 2
if(isset($table) and isset($table['key'])) { ... }
// 3
if(isset($table) and array_key_exists('key',$table)) { ... }
解决方法:
if (isset($table['key']))
是.
if (isset($table) and isset($table['key']))
这是多余的,单独检查两者没有好处.
if (isset($table) and array_key_exists('key', $table))
是的,如果$table [‘key’]可能包含空值,并且您仍然对此感兴趣,那么这也是一个好方法.如果值是null,即使存在,isset($table [‘key’])也会返回false.您可以使用array_key_exists区分这两种情况.
话虽如此,isset($table)并不是您应该做的事情,因为您应该可以事先声明$table.换句话说,除非有错误,否则$table可能不存在,这是不可想象的,因此您不应该检查它的存在.只是(array_key_exists(‘key’,$table))应该足够了.
标签:array-key-exists,arrays,php 来源: https://codeday.me/bug/20191121/2052474.html