php - 如何使用 laravel 从斜杠 (/) 展开并得到最后一个词

php - How to use laravel explode from the slash (/) and get the last word

嗨,我是 Laravel 的新手。所以我真的需要一些帮助,我需要从 $report->reportable_type 和包含 App/Models/Store 和 App/Models/Product 的 reportable_type 中得到最后一个词。所以我想分解斜线 (/) 并得到最后一个词,它表示商店或产品。

我控制器中的代码有效,但它使用 print_r,我不想使用 print_r。

这是我的控制器

public function toLink($id)
{
    $report = $this->reportRepository->findWithoutFail($id);

    //get Store Name
    $name = Store::where('id','=',$report->reportable_id)->pluck('name')->all();
    $storename = $name[0];

    //get Store ID
    $idstore = Store::where('id','=',$report->reportable_id)->pluck('id')->all();
    $storeid = $idstore[0];

    if(empty($report))
    {
        Flash::error('Report not found');
        return redirect(route('reports.index'));
    }

    $report_type = $report->reportable_type;
    print_r (explode("/",strrpos($report_type, '/') + 1),$report_type);
    return redirect(env('FRONTEND_URL') ."/".str_slug($reportable_type)."/$storeid/".str_slug($storename));


}

Laravel 辅助函数 class_basename 就是这样做的。

$type = class_basename($report->reportable_type);

更新:
如果你真的想使用 explode 函数,你可以使用 Laravel last 助手来获取数组的最后一个元素。

$type = last(explode('/', $report->reportable_type));