qqm*_*ing 5 php arrays object laravel
对我来说这看起来很奇怪。
无法将 stdClass 类型的对象用作数组
我将查询转换为数组。
$query = DB::table('users')->where('name','=','Alex')->get()->toArray();
Run Code Online (Sandbox Code Playgroud)
检查了我的变量gettype($query);,它说Array.
还检查了它var_dump($query);,它也显示了Array。
那么为什么$query在 foreach 中循环 my 时我必须使用$item->name并且无法将项目作为数组访问$item['name']?
当您使用 时toArray(),您会得到一个对象数组,因此您仍然需要使用:
$item->name
Run Code Online (Sandbox Code Playgroud)
如果要将其转换为数组的数组,请执行以下操作:
$users = DB::table('users')->where('name', 'Alex')->get();
$users->transform(function($i) {
return (array)$i;
});
$array = $users->toArray();
Run Code Online (Sandbox Code Playgroud)