【问题标题】:How to read a array object for a class如何读取类的数组对象
【发布时间】:2018-02-20 18:38:45
【问题描述】:

大家好,我有以下数组

Classes\Form_Record Object
(
    [sent_data:protected] => Array
        (
            [cw6hwgw] => 11
            [ezlkp6m] => 11
        )

    [fields:protected] => Array
        (
            [cw6hwgw] => Array
                (...

并尝试从 cw6hwgw 和 ezlkp6m 读取值

我需要什么才能在 php 中得到结果 当我们尝试[sent_data][0] 时,它不起作用

【问题讨论】:

标签: php arrays


【解决方案1】:

您需要将对象转换为数组。

示例代码:

$my_obj =(object) ['sent_data:protected' => ['cw6hwgw' => 11, 'ezlkp6m' => 11 ]];

echo gettype($my_obj)."\n\n";


$to_array_ = (array) $my_obj;

foreach($to_array_['sent_data:protected'] as $k=>$v){
    echo "{$k} = $v \n";
} 

【讨论】:

  • 有趣的是,当转换为数组时,我得到了这个而不是 sent_data:protected Array ( [ * sent_data] => Array ( [cw6hwgw] => 11 [ezlkp6m] => 11 ),但仍然无法读取, 不确定前面的 * 或空格是否无效 print_r ([ * sent_data])
  • 使用print_r(get_object_vars($YOUR_OBJECT_VAR));获取索引。
【解决方案2】:

如果我理解正确,您在数组中使用了一个数组,因此您应该使用两个 foreach 循环,或者为两个数组指定数组中的数字。

【讨论】:

  • 不,你误会了......那些数组是对象实例的受保护属性,这不是嵌套数组
  • o,我的错...所以唯一想到的就是使用访问 getter 方法
猜你喜欢
  • 1970-01-01
  • 2017-12-30
  • 1970-01-01
  • 2016-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多