数组到字符串转换的简单方法

问题描述 投票:0回答:1

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

就我而言,我正在尝试使用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;
}
php arrays string laravel-5
1个回答
2
投票

您不应该使用

$row[0]
,因为它只会从特定字段的错误列表中获取第一个错误。
这是一种通过字段名称获取一个字符串中所有错误的解决方案。

    $str =  implode("\n", 
        array_map( function( $e, $key ){
            return $key.": ". implode(", ",$e);
        }, $error, array_keys($error) )
    );
    print_r($str);
© www.soinside.com 2019 - 2024. All rights reserved.