数组转换为strin的简单方法

时间:2017-02-19 06:04:35

标签: arrays string laravel-5.2

我需要将laravel表单验证错误数组转换为仅字符串的值。 我不想使用json_encode。

enter image description here

在我的情况下,我正在尝试使用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;
}

1 个答案:

答案 0 :(得分:2)

您不应该使用$row[0],因为它只会从特定字段的错误列表中获取第一个错误。
这是一个解决方案,使用其字段名称在一个字符串中获取所有错误。

    $str =  implode("\n", 
        array_map( function( $e, $key ){
            return $key.": ". implode(", ",$e);
        }, $error, array_keys($error) )
    );
    print_r($str);