在我的控制器中,我使用像这样的数据变量
$data['some_var'] = $this->Model->some_info($param);
所以,如果我var_dump
这个$data['some_var']
,它就会像这样打印
object(StdClass)[4]
Public 'blah1' => String 'blah1' (Length=5)
Public 'blah2' => String 'blah2' (Length=5)
Public 'blah3' => String 'blah3' (Length=5)
Public 'blah4' => String 'blah4' (Length=5)
我知道如何将此$data[]
用于视图文件,但我想将此$data[]
用于控制器文件,
我想要什么,我想使用数组中的blah1
我试过这个
$var = $data['some_var']['blah1'];
$var = $some_var->blah1;
我不确定如何解决这个问题
答案 0 :(得分:1)
好吧试试这个会起作用
$var = $data['some_var'][0]->blah1;
答案 1 :(得分:0)
尝试
ic_launcher
答案 2 :(得分:0)
你可能想尝试对你的对象进行类型转换的解决方案 - 来自Gordon的回答:details here
// typecast your object
$data['some_var'] = (array) $this->Model->some_info($param);
// access the index of the array
// !! this won't work if ['blah1'] contains an Object !!
$var = $data['some_var']['blah1'];
如果你想访问子对象,我想你必须编写一个递归函数来强制每个级别see Gordon's answer as well