为了账号安全,请及时绑定邮箱和手机立即绑定

如何将对象转换为数组?

如何将对象转换为数组?

PHP
HUX布斯 2019-07-04 13:42:18
如何将对象转换为数组?<?php    print_r($response->response->docs);?>产出如下:    Array (     [0] => Object              (                 [_fields:private] => Array                                      (                                         [id]=>9093                                          [name]=>zahir                                    )              Object              (                  [_fields:private] => Array                                      (                                         [id]=>9094                                          [name]=>hussain                                    )..             ))如何将此对象转换为数组?我想输出以下内容:Array(     [0]=>     (         [id]=>9093          [name]=>zahir    )      [1]=>     (         [id]=>9094          [name]=>hussain    )...)这个是可能的吗?
查看完整描述

3 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

你应该看看获取对象VAR,当您的属性声明为私有时,您应该在类中调用它并返回其结果。

小心,对于像字符串这样的原始数据类型,它会工作得很好,但我不知道它如何处理嵌套对象。

在你的情况下,你必须做一些类似的事情;

<?php
   print_r(get_object_vars($response->response->docs));?>


查看完整回答
反对 回复 2019-07-04
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

小心:

$array = (array) $object;

浅层转换($Object->innerObject=newstdClass()是否仍然是一个对象,并使用json进行来回转换,但如果性能是问题,这不是一个好主意。

如果您需要将所有对象转换为关联数组,那么这里有一种更好的方法(代码从哪里撕下来):

function toArray($obj){
    if (is_object($obj)) $obj = (array)$obj;
    if (is_array($obj)) {
        $new = array();
        foreach ($obj as $key => $val) {
            $new[$key] = toArray($val);
        }
    } else {
        $new = $obj;
    }

    return $new;}


查看完整回答
反对 回复 2019-07-04
  • 3 回答
  • 0 关注
  • 901 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信