Home >Backend Development >PHP Tutorial >浏览器兼容性 - 关于php数组转对象,打印结果的时候出现的乱码

浏览器兼容性 - 关于php数组转对象,打印结果的时候出现的乱码

WBOY
WBOYOriginal
2016-06-06 20:14:361070browse

<code><?php // header("Content_type: text/html; charset=UTF-8");
class obj{
    public $intpub=123;
    public $pub='public';
    protected $pro='protected';
    private $pri='private';
    const con='const';
    public function thefunc(){
            return 'func';
    }

}

$obj=new obj();

var_dump((array)$obj);//
</code></code>

代码是上面这样的
结果成这样的,我知道?的位置应该是'*'这个前缀,但是怎么样能让它正常显示呢

浏览器兼容性 - 关于php数组转对象,打印结果的时候出现的乱码
header头:

浏览器兼容性 - 关于php数组转对象,打印结果的时候出现的乱码
浏览器编码:

浏览器兼容性 - 关于php数组转对象,打印结果的时候出现的乱码

后来用Print_r试了下 可以正常使用:
Array ( [intpub] => 123 [pub] => public [*pro] => protected [objpri] => private )
但是这是为什么吗呢?求指导

回复内容:

<code><?php // header("Content_type: text/html; charset=UTF-8");
class obj{
    public $intpub=123;
    public $pub='public';
    protected $pro='protected';
    private $pri='private';
    const con='const';
    public function thefunc(){
            return 'func';
    }

}

$obj=new obj();

var_dump((array)$obj);//
</code></code>

代码是上面这样的
结果成这样的,我知道?的位置应该是'*'这个前缀,但是怎么样能让它正常显示呢

浏览器兼容性 - 关于php数组转对象,打印结果的时候出现的乱码
header头:

浏览器兼容性 - 关于php数组转对象,打印结果的时候出现的乱码
浏览器编码:

浏览器兼容性 - 关于php数组转对象,打印结果的时候出现的乱码

后来用Print_r试了下 可以正常使用:
Array ( [intpub] => 123 [pub] => public [*pro] => protected [objpri] => private )
但是这是为什么吗呢?求指导

vardump正常打印出来的都是public,出现乱码的是那些非公共的。
这问题我没遇过,毕竟通过实际化类直接打印属性是没什么必要的,完全可以放进方法打印出来嘛。
btw,编程以结果为导向吧,这类比较奇怪的问题可以记录后,以后再看或者问高手。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn