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

Laravel 8表单验证报错array_map():参数2应为数组传入值为null

报错根因

核心问题是验证规则定义时的引号书写错误:
初始化验证器的代码中,use_filters 字段的规则使用了**反引号()**包裹boolean,而非单/双引号。 PHP中反引号是内置的shell执行运算符,会尝试将包裹的内容作为系统命令执行,系统中不存在boolean这个命令,执行后返回值为null,最终传入验证器的规则数组实际为 ['use_filters' => null]。Laravel底层的验证规则解析器处理规则时,调用array_map`遍历字段规则,期望第二个参数为数组类型,实际接收到null,就触发了你看到的报错。

错误代码片段如下:

$validator = Validator::make($request->all(), [
    // 这里错误使用了反引号,而非单引号
    'use_filters' => `boolean`
]);
修复方案

将包裹boolean规则的反引号替换为单引号(或双引号)即可,修正后的代码:

$validator = Validator::make($request->all(), [
    'use_filters' => 'boolean'
]);

其余的条件验证sometimes逻辑、后续业务查询逻辑均无问题,修正引号后报错会直接消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 11:27:22