检查 PHP 数组中是否存在某个键的更快、更有效的方法是什么?
P粉512363233
P粉512363233 2023-10-16 08:55:37
0
2
564

考虑这两个例子...

$key = 'jim';

// example 1
if (isset($array[$key])) {
    // ...
}

// example 2    
if (array_key_exists($key, $array)) {
    // ...
}

我有兴趣知道这两者是否更好。我一直使用第一个示例,但在本网站上看到很多人使用第二个示例。

那么,哪个更好呢?快点?意图更明确?

P粉512363233
P粉512363233

全部回复(2)
P粉969666670

如果您对我最近完成的一些测试感兴趣:

https://stackoverflow.com/a/21759158/520857

摘要:

| Method Name                              | Run time             | Difference
=========================================================================================
| NonExistant::noCheckingTest()            | 0.86004090309143     | +18491.315775911%
| NonExistant::emptyTest()                 | 0.0046701431274414   | +0.95346080503016%
| NonExistant::isnullTest()                | 0.88424181938171     | +19014.461681183%
| NonExistant::issetTest()                 | 0.0046260356903076   | Fastest
| NonExistant::arrayKeyExistsTest()        | 1.9001779556274      | +209.73055713%
P粉713866425

isset() 速度更快,但与 array_key_exists() 不同。

array_key_exists() 纯粹检查键是否存在,即使值为 NULL

鉴于 如果键存在且值为 NULLisset() 将返回 false

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板