在Laravel中,我试图创建一些我拥有的现有值的数组,这些值是根据JSON对象的值构建的。
我设置了4个变量,它们正确地转储了,但是我想用它们自己的键/名称将所有4个(用户名,权限,角色,访问权限)添加到数组(IdentifierArray)中,以便在添加数组时进入会话并对其进行检查,我可以看到每个值及其键/名称。
此时的代码:
$IdentifierArray = [];
$Username = $login->username;
$Perms = $login->permissions;
$Roles = $login->roles;
$Access = $login->access;
Session::put('Array of Values', $identifierArray);
所以我想以最佳方式将这些对象值添加到数组中,同时为每个对象都有一个键,例如:
Array(
"username": $username value,
"perms":$perms value,
"Roles":$roles value,
"Access":$Access value
)
答案 0 :(得分:3)
另一种实现方式,等同于@danboh:
$IdentifierArray = [
"username" => $login->username,
"permissions" => $login->permissions,
"roles" => $login->roles,
"access" => $login->access
];
答案 1 :(得分:1)
为什么不使用常规的PHP数组?喜欢:
$IdentifierArray["username"] = $login->username;
$IdentifierArray["permissions"] = $login->permissions;
$IdentifierArray["roles"] = $login->roles;
$IdentifierArray["access"] = $login->access;
答案 2 :(得分:1)
您可以使用array_only
助手来简化生活:
$identifierArray = array_only(
json_decode($login, true),
['username', 'permissions', 'roles', 'access']
);
另一种选择是使用only()
收集方法:
collect(json_decode($login, true))
->only(['username', 'permissions', 'roles', 'access'])
->all();