【发布时间】:2010-10-16 13:26:06
【问题描述】:
考虑这两个例子...
$key = 'jim';
// example 1
if (isset($array[$key])) {
// ...
}
// example 2
if (array_key_exists($key, $array)) {
// ...
}
我很想知道这些是否更好。我一直使用第一个,但在这个网站上看到很多人使用第二个示例。
那么,哪个更好?快点?意图更清晰?
【问题讨论】:
-
我没有运行任何基准测试,没有。我应该先问吗?
-
isset的行为永远不会与array_key_exists完全相同,如果密钥不存在,则假定使其行为相同的代码示例会引发通知。 -
in_array怎么样? maettig.com/1397246220 -
@DanMan,
in_array是O(n)因为它检查的是值而不是键。除非您的n非常小,否则它们几乎总是会变慢。 -
为什么不
$array[$key] === null?
标签: php performance