Php 我们可以在Lumen laravel freamwork中使用括号符号访问STDClass对象吗
代码片段如下所示:Php 我们可以在Lumen laravel freamwork中使用括号符号访问STDClass对象吗,php,laravel,lumen,stdclass,Php,Laravel,Lumen,Stdclass,代码片段如下所示: $userinfo = DB::table('userinfo') ->select('addressid', 'extradetailid', 'mobileno') ->where('mobileno', $detail['mobileno']) ->get() ->toArray(); $users = DB::table('user')
$userinfo = DB::table('userinfo')
->select('addressid', 'extradetailid', 'mobileno')
->where('mobileno', $detail['mobileno'])
->get()
->toArray();
$users = DB::table('user')
->select('name', 'age', 'contact', 'addressid','extradetailid')
->where(function ($qb1) use ($userinfo) {
$qb1->whereIn('addressid', array_column($userinfo, 'addressid'))
->orWhereIn('extradetailid', array_column($userinfo, 'extradetailid'));
})
->orderBy('sort', 'ASC')
->get()
->toArray();
foreach ($users as $user) {
if ($user['addressid'] != null) { // getting error here Cannot use object of type stdClass as array
}
}
我的PHP版本是7.3
我正在使用AMPP apache服务器
我想使用一个带括号符号的对象。在PHP lumen laravel框架中有什么方法可以做到这一点吗?在循环$users变量之前,首先尝试将其转换为数组。检查这是否有效:
$users = json_decode(json_encode($users), true);
键入cast it to arrayWhy要将其与括号符号一起使用?你想解决的实际问题是什么?如果您只想访问该字段,请编写
$user->addressid
,虽然这可能有效,但我认为这是一个不好的建议,因为这是一个不好的习惯。理解如何使用您正在处理的数据比将所有内容强制转换为一个简单的数组结构要好得多。@IMSoP您在数据方面是对的,但我几乎没有回答这个问题。你的观点与问题本身有关,与我的答案无关。