您的位置:首页 > 编程语言 > PHP开发

PHP检查键值是否存在

2012-11-07 14:03 183 查看
今天使用isset()函数检查一个数组中某个键值是否存在,发现一个问题。

$info['page'] = null;

if (isset($info['page'])) {
// 存在
} else {
// 不存在
}


代码执行的结果居然是不存在。后来换成array_key_exists()就可以了。

因而,对PHP的isset()使用方法有了一些怀疑,下面是一段测试代码:

$info['page'] = null; c('null');
$info['page'] = 0; c('zero');
$info['page'] = false; c('false');

function c($value)
{
global $info;
$key = 'page';

$result = $value . ':';
$result .= (true === isset($info[$key]) ? '1' : '0');
$result .= (true === array_key_exists($key, $info) ? '1' : '0');
$result .= (true === empty($info[$key]) ? '1' : '0');

echo $result . "\n";
}

exit;


执行结果:

null:011
zero:111
false:111


总结:检查数组是否存在某个$key,使用array_key_exists($key, $array);检查对象是否存在某个$key,使用isset($object->$key)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: