You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中如何检测URL中的size[eq]参数是否存在?

解决Laravel中检测size[eq]请求参数返回false的问题

当URL中包含size[eq]=200这类参数时,Laravel会自动将其解析为数组格式的请求参数——$request->size是一个包含eq键的数组,而非把size[eq]作为独立参数名,这就是直接调用$request->has("size[eq]")返回false的原因。

你可以通过以下几种方式正确检测和获取该参数:

  • 使用点语法访问数组参数:

    public function index(Request $request)
    {
        // 检测size数组中是否存在eq键
        dd($request->has('size.eq'));
        // 获取size[eq]对应的值
        $sizeEq = $request->input('size.eq');
    }
    
  • 先获取size数组再检查键的存在性:

    public function index(Request $request)
    {
        // 方式1:用isset直接检查数组键
        dd(isset($request->size['eq']));
        // 方式2:将size转为集合后调用has方法
        dd($request->size->has('eq'));
    }
    
  • 直接获取参数值(带默认值避免报错):

    public function index(Request $request)
    {
        // 若size[eq]不存在则返回null
        $sizeEq = $request->query('size', [])['eq'] ?? null;
        dd($sizeEq);
    }
    

内容的提问来源于stack exchange,提问作者Nayana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 08:09:18