Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php isset的奇怪问题_Php_Isset - Fatal编程技术网

Php isset的奇怪问题

Php isset的奇怪问题,php,isset,Php,Isset,在上面的代码中,第一行返回一个巨大的对象转储,但第二行返回false。怎么可能呢?是否存在对象可能存在但isset仍返回false的情况 答复:- var_dump($obj->key); var_dump(isset($obj->key)); 第一行打印值,第二行打印false 使用magic函数\uuu get()会导致这种情况vardump的输出是什么?如果通过magic\uu get()方法访问\uu get(),但没有定义magic\uu isset()方法,那么$o

在上面的代码中,第一行返回一个巨大的对象转储,但第二行返回false。怎么可能呢?是否存在对象可能存在但isset仍返回false的情况

答复:-

var_dump($obj->key);
var_dump(isset($obj->key));

第一行打印值,第二行打印false


使用magic函数
\uuu get()
会导致这种情况

vardump的输出是什么?如果通过magic
\uu get()
方法访问
\uu get()
,但没有定义magic
\uu isset()
方法,那么$obj是什么?你能发布一些代码和输出吗?展示了如何重现这一点situation@MarkBaker我认为这就是问题所在
<?php
  class SomeKlass {
    public function __get($name) {
      return $name;
    }
  }

  $a = new SomeKlass;
  var_dump($a->bar);
  var_dump(isset($a->bar));
?>