花费大量时间用NULL值测试'isset'

时间:2015-12-03 14:13:02

标签: php

我有这个数组,取自数据库记录:

peopleTableView.backgroundView = UIImageView(image: UIImage(named: "SFStreetcar"))  

然而,接下来,似乎需要AGES来处理:

array ( 'id' => '66', 'userID' => '4786', 'heard' => NULL, )

..我不知道为什么?即使我只是测试它:

if((isset($check['heard'])) && ($check['heard'] != null)) {

这需要很长时间,并且最终会因最长执行时间而超时。

之前我曾在:

if(isset($check['heard']) { ..而且工作正常,仍然如此。但我需要测试'听到'。

到底发生了什么事?

2 个答案:

答案 0 :(得分:2)

用这一行代替那条......

if(isset($check['heard']) && $check['heard'] !== null) {

你有一些时髦的语法...

或者,如果您只想查看isset()请执行此操作..

if(isset($check['heard'])) {

(你错过了正确的peren)

如果您知道$check['heard']永远不会为零或空字符串,您可以这样做......

if(!empty($check['heard'])) {

答案 1 :(得分:0)

你也可以去存在数组键。如下所示并检查是否为null不是

$m=array (
    'id'     => '66',
    'userID' => '4786',
    'heard'  => NULL,
);

if (array_key_exists("heard",$m)){
    if ($m['heard']!="")
    {
        echo "Key exists";
    }
}