php 将关联组数转成对象,将PHP对象转换为关联数组

只是把它打出来$array =  (array) $yourObject;如果将对象转换为数组,则结果是一个数组,其元素是对象的属性。键是成员变量名,但有几个值得注意的例外:整数属性不可访问;私有变量的类名与变量名相加;受保护的变量在变量名前面有一个“*”。这些预置值的两边都有空字节。

示例:简单对象$object = new StdClass;$object->foo = 1;$object->bar = 2;var_dump( (array) $object );

产出:array(2) {

'foo' => int(1)

'bar' => int(2)}

示例:复杂对象class Foo{

private $foo;

protected $bar;

public $baz;

public function __construct()

{

$this->foo = 1;

$this->bar = 2;

$this->baz = new StdClass;

}}var_dump( (array) new Foo );

输出(为清晰起见编辑了\s):array(3) {

'\0Foo\0foo' => int(1)

'\0*\0bar' => int(2)

'baz' => class stdClass#2 (0) {}}

输出带var_export而不是var_dump:array (

'' . "\0" . 'Foo' . "\0" . 'foo' => 1,

'' . "\0" . '*' . "\0" . 'bar' => 2,

'baz' =>

stdClass::__set_state(array(

)),)

以这种方式进行类型转换不会对象图进行深度转换,您需要应用空字节(如手册引号中所解释的)来访问任何非公共属性。因此,当转换StdClass对象或仅使用公共属性的对象时,这种方法效果最好。如果你想要的东西又快又脏的话,那就好了。

还可以看到这篇深入的博客文章:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值