删除数组结果中的括号和引号-Laravel

时间:2018-10-04 14:33:58

标签: php laravel

这可能是一个非常简单的问题,但我是新的laravel开发人员。在我的数组结果中,我得到[“ type”]。如何删除[]"",以便在回复中仅输入“ type”。

用户

public function role()
{
    return $this->belongsTo('App\Role');
}

控制器

   return Auth::user()->roles->pluck('name');

5 个答案:

答案 0 :(得分:1)

pluck()返回一个数组。

这就是为什么它返回类似['type']

的原因

因此,如果您确定只有一个元素。致电first()

return Auth::user()->roles->pluck('name')->first();

但是如果roles返回多个元素,则必须根据情况进行处理。

但是它是一个数组

答案 1 :(得分:0)

要删除开头和结尾的方括号和引号,请尝试以下

$user = Auth::user()->roles->pluck('name');
$user = join(",", $user);
$unquoted = preg_replace('/^(\'(.*)\'|"(.*)")$/', '$2$3', $user);

答案 2 :(得分:0)

您可以执行以下操作:

$authtoken = User::where('customers_id', $id)->pluck('auth_token')->last();

答案 3 :(得分:0)

[n, n]获取跨多行的列值数组。如函数名所示,如果有多个角色 s ,则此功能很有用。

但是,如果用户仅具有一个角色,则可以使用pluck函数,该函数将返回 first (并且希望是)行的列的值:< / p>

value

答案 4 :(得分:-1)

您可以简单地做到这一点

return Auth::user()->roles->pluck('name')->toArray;