【问题标题】:Simple way to array to strin conversion数组到字符串转换的简单方法
【发布时间】:2017-07-08 12:42:57
【问题描述】:

我需要将 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;
}

【问题讨论】:

    标签: arrays string laravel-5.2


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-09-16
      • 1970-01-01
      • 1970-01-01
      • 2010-12-21
      • 2013-09-16
      • 2015-12-15
      • 2010-09-18
      • 2014-03-05
      • 1970-01-01
      相关资源
      最近更新 更多