首頁 >後端開發 >php教程 >浏览器兼容性 - 关于php数组转对象,打印结果的时候出现的乱码

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

WBOY
WBOY原創
2016-06-06 20:14:361065瀏覽

<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,编程以结果为导向吧,这类比较奇怪的问题可以记录后,以后再看或者问高手。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn