php版本5.4.116
我的代码
$options = @SimpleXml_load_file( $this->config );
//print_r($options);
echo " is_a( \$options , 'SimpleXMLElement') <br />";
var_dump( is_a( $options , 'SimpleXMLElement' ));
echo "<br /> \$options instanceof SimpleXMLElement <br />";
var_dump($options instanceof SimpleXMLElement);
*结果
is_a( $options , 'SimpleXMLElement')
bool(true)
$options instanceof SimpleXMLElement
bool(false)
我想知道返回值不同的原因。
*我的代码包含命名空间
namespace project\controller;
$options = SimpleXml_load_file( 'data.xml' );
$cname='SimpleXMLElement';
echo ' is_a( $options , $cname ) : ';
var_dump( is_a( $options , $cname ));
echo ' $options instanceof $cname :';
var_dump($options instanceof $cname);
echo ' $options instanceof SimpleXMLElement : ';
var_dump( $options instanceof SimpleXMLElement );
echo ' $options instanceof \SimpleXMLElement : ';
var_dump( $options instanceof \SimpleXMLElement );
结果
is_a( $options , $cname ) : bool(true)
$options instanceof $cname :bool(true)
$options instanceof SimpleXMLElement : bool(false)
$options instanceof \SimpleXMLElement : bool(true)
*没有命名空间的结果
//命名空间项目\控制器;
is_a($ options,$ cname):bool(true)
$ options instanceof $ cname:bool(true)
$ Options instanceof SimpleXMLElement:bool(true)
$ options instanceof \ SimpleXMLElement:bool(true)