Arrays 数组到strin转换的简单方法

Arrays 数组到strin转换的简单方法,arrays,string,laravel-5.2,Arrays,String,Laravel 5.2,我需要将laravel form validation error数组转换为一个字符串,只包含值。 我不想使用json_编码 在我的例子中,我试图用ajax实现保存编辑功能。 因此,我决定将表单验证错误作为字符串从控制器中获取 编写回调函数以将错误数组转换为字符串,因此错误键可能会改变格式。我该怎么做呢 有没有更好的办法来处理这种情况 这就是我试过的 if ($validator->fails()) { $error = $validator->getMessageBag

我需要将laravel form validation error数组转换为一个字符串,只包含值。 我不想使用json_编码

在我的例子中,我试图用ajax实现保存编辑功能。 因此,我决定将表单验证错误作为字符串从控制器中获取

编写回调函数以将错误数组转换为字符串,因此错误键可能会改变格式。我该怎么做呢

有没有更好的办法来处理这种情况

这就是我试过的

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);