如何从 Laravel 中的数组中获取特定的数组值

Posted

技术标签:

【中文标题】如何从 Laravel 中的数组中获取特定的数组值【英文标题】:How to get specific Array value from an Array in Laravel 【发布时间】:2019-10-23 17:10:43 【问题描述】:

我想从我从这段代码中获得的数组中获取特定的数组数据:

$user       = $request->instance()->query('user');
var_dump($user);exit;

结果是:

array(1) ["user"]=> object(App\Models\User)#332 (27) ["fillable":protected]=> array(5) [0]=> string(4) "name" [1]=> 字符串(8)“用户名”[2]=>字符串(5)“电子邮件”[3]=>字符串(8) “密码”[4]=>字符串(5)“令牌”[“隐藏”:受保护]=>数组(2) [0]=> 字符串(8) "密码" [1]=> 字符串(14) "remember_token" ["casts":protected]=> 数组(1) ["email_verified_at"]=> 字符串(8) “日期时间” [“连接”:受保护]=> 字符串(5)“mysql” ["table":protected]=> 字符串(5) "users" ["primaryKey":protected]=> 字符串(2) "id" ["keyType":protected]=> 字符串(3) "int" ["incrementing"]=> bool(true) ["with":protected]=> array(0) ["withCount":protected]=> array(0) ["perPage":protected]=> int(15) ["exists"]=> bool(true) ["wasRecentlyCreated"]=> bool(false) ["attributes":protected]=> array(15) ["id"]=> int(3) ["name"]=> 字符串(14)“曼彻斯特”[“用户名”]=>字符串(14)“曼彻斯特” ["email"]=> 字符串(24) "manchesteriyah@gmail.com" ["facebook"]=> 字符串(37)“https://web.facebook.com/xkionna”[“电话”]=> NULL ["email_verified_at"]=> NULL ["password"]=> 字符串(60) “$2y$10$IrqHE1JfyH0bJ0XD/Hjy.efLg95y/buTIir0PuXcOqDb1yCSS69Oe” ["图像"]=> NULL ["描述"]=> NULL ["角色"]=> 字符串(1) "1" ["token"]=> 字符串(20) "ymsJxEtFnxdPBWYwlYFw" ["member_expiration"]=> 字符串(19)“2019-07-08 20:33:29”[“created_at”]=> 字符串(19) "2019-06-08 20:30:25" ["updated_at"]=> 字符串(19) "2019-06-08 20:33:29" ["original":protected]=> array(15) ["id"]=> int(3) ["name"]=> string(14) "Manchesteriyah" ["username"]=> string(14) "manchesteriyah" ["email"]=> 字符串(24) "manchesteriyah@gmail.com" ["facebook"]=> 字符串(37) "https://web.facebook.com/xkionna" ["电话"]=> NULL ["email_verified_at"]=> NULL ["密码"]=> 字符串(60) “$2y$10$IrqHE1JfyH0bJ0XD/Hjy.efLg95y/buTIir0PuXcOqDb1yCSS69Oe” ["图像"]=> NULL ["描述"]=> NULL ["角色"]=> 字符串(1) "1" ["token"]=> 字符串(20) "ymsJxEtFnxdPBWYwlYFw" ["member_expiration"]=> 字符串(19)“2019-07-08 20:33:29”[“created_at”]=> 字符串(19) "2019-06-08 20:30:25" ["updated_at"]=> 字符串(19) "2019-06-08 20:33:29" ["changes":protected]=> array(0) ["dates":protected]=> array(0) ["dateFormat":protected]=> NULL ["appends":protected]=> 数组(0)[“dispatchesEvents”:受保护]=>数组(0) ["observables":protected]=> array(0) ["relations":protected]=> array(0) ["touches":protected]=> array(0) ["timestamps"]=> bool(true) ["visible":protected]=> array(0) ["guarded":protected]=> 数组(1) [0]=> 字符串(1) "*" ["rememberTokenName":protected]=> string(14) "remember_token"

我想得到的是用户名值,我尝试过这样的解决方案:

$user->username

但它给了我这样的错误:

试图获取非对象的属性“用户名”

如何解决这个问题?感谢关注。

【问题讨论】:

【参考方案1】:

$user 变量似乎包含一个包含 1 个元素的数组,而不是用户本身。您必须首先从数组中检索 User 对象,然后访问 username 属性。

$user = $request->instance()->query('user')['user'];
var_dump($user->username); exit;

【讨论】:

以上是关于如何从 Laravel 中的数组中获取特定的数组值的主要内容,如果未能解决你的问题,请参考以下文章

如何删除 cookie 数组 Laravel 8 中的特定值

从Laravel中的数组中获取出现次数

如何过滤数组以获取laravel中两个不同对象中的特定列

Meteor JS如何从集合中的数组中获取特定对象?

如何从数组 eloquent laravel 中获取权限名称值

当我只想获取字典中的特定值时,如何解码字典值的 JSON 数组?