Arrays 数组到strin转换的简单方法
我需要将laravel form validation error数组转换为一个字符串,只包含值。 我不想使用json_编码 在我的例子中,我试图用ajax实现保存编辑功能。 因此,我决定将表单验证错误作为字符串从控制器中获取 编写回调函数以将错误数组转换为字符串,因此错误键可能会改变格式。我该怎么做呢 有没有更好的办法来处理这种情况 这就是我试过的Arrays 数组到strin转换的简单方法,arrays,string,laravel-5.2,Arrays,String,Laravel 5.2,我需要将laravel form validation error数组转换为一个字符串,只包含值。 我不想使用json_编码 在我的例子中,我试图用ajax实现保存编辑功能。 因此,我决定将表单验证错误作为字符串从控制器中获取 编写回调函数以将错误数组转换为字符串,因此错误键可能会改变格式。我该怎么做呢 有没有更好的办法来处理这种情况 这就是我试过的 if ($validator->fails()) { $error = $validator->getMessageBag
if ($validator->fails()) {
$error = $validator->getMessageBag()->toArray();
echo '<pre>'; print_r($error); echo '</pre>';
$error_str = '';
foreach ($error as $row){
$error_str .= $row[0].'</br>';
}
echo $error_str;
}
如果($validator->fails()){
$error=$validator->getMessageBag()->toArray();
回显“”;打印($error);回显“”;
$error_str='';
foreach($错误为$行){
$error_str.=$row[0]。';
}
echo$error\u str;
}
您不应该使用$row[0]
,因为它只会从特定字段的错误列表中获取第一个错误。下面是一个解决方案,可以将所有错误与字段名合并在一个字符串中。
$str = implode("\n",
array_map( function( $e, $key ){
return $key.": ". implode(", ",$e);
}, $error, array_keys($error) )
);
print_r($str);