编程语言
首页 > 编程语言> > php-在使用表值之前检查表键是否存在的正确方法是什么?

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