使用验证类 验证下面的数组array('a'=>array(array("data"=>array("name"=>1)),array("data"=>array("name"=>2))))
时间: 2023-07-06 11:11:20 浏览: 40
您可以使用 PHP 自带的验证类 `Validator` 来验证这个数组。以下是一个示例代码:
```php
<?php
use Illuminate\Support\Facades\Validator;
$data = [
'a' => [
[
'data' => [
'name' => 1
]
],
[
'data' => [
'name' => 2
]
]
]
];
$rules = [
'a' => 'required|array',
'a.*' => 'required|array',
'a.*.data' => 'required|array',
'a.*.data.name' => 'required|integer'
];
$validator = Validator::make($data, $rules);
if ($validator->fails()) {
// 验证失败
$errors = $validator->errors();
// 处理错误信息
} else {
// 验证成功
// 处理数据
}
```
在这个例子中,我们定义了一个 `$data` 数组,然后使用 `$rules` 数组来定义验证规则。其中,`'a' => 'required|array'` 表示 `a` 必须是一个数组,`'a.*' => 'required|array'` 表示 `a` 中的每个元素必须是一个数组,`'a.*.data' => 'required|array'` 表示 `a` 中每个元素中的 `data` 必须是一个数组,`'a.*.data.name' => 'required|integer'` 表示 `a` 中每个元素中的 `data` 数组中的 `name` 必须是一个整数。
然后,我们使用 `Validator::make()` 方法来创建一个验证器对象,并将 `$data` 和 `$rules` 作为参数传递给它。然后,我们可以使用 `$validator->fails()` 方法来检查验证是否失败。如果失败,我们可以使用 `$validator->errors()` 方法来获取错误信息。如果成功,我们可以处理 `$data` 数组中的数据。