Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 循环查看错误消息包,然后创建一个新数组_Php_Laravel_Laravel 5.2 - Fatal编程技术网

Php 循环查看错误消息包,然后创建一个新数组

Php 循环查看错误消息包,然后创建一个新数组,php,laravel,laravel-5.2,Php,Laravel,Laravel 5.2,我试图循环遍历错误消息包($validator->errors()->getMessages())数组,并将其对象推送到另一个数组($error) 然后循环到新数组($error),并基于新数组对象($str)创建一个字符串 $str='; foreach($error as$e){//这是第113行 $str.=''.$e.'; } $str.=''; 返回数组('success'=>false,'message'=>$error); 但它返回了一个错误 数组到字符串转换行113 下面是no

我试图循环遍历错误消息包($validator->errors()->getMessages())数组,并将其对象推送到另一个数组($error)

然后循环到新数组($error),并基于新数组对象($str)创建一个字符串

$str='
    ; foreach($error as$e){//这是第113行 $str.='
  • '.$e.
  • '; } $str.='
'; 返回数组('success'=>false,'message'=>$error);
但它返回了一个错误

数组到字符串转换行113

下面是not循环到$error数组以创建$str字符串时的响应

{“success”:false,“message”:[[“用户名字段是必需的。”],[“密码>字段是必需的。”],[“全名字段是必需的。”],[“电子邮件字段是>必需的。”]}


错误中的每个键可能包含多个错误,因此它将是一个字符串

所以你可以这样做:

if($validator->fails()) :
    foreach($validator->errors()->getMessages() as $validationErrors):
        if (is_array($validationErrors)) {
            foreach($validationErrors as $validationError):
                $error[] = $validationError;
            endforeach;
        } else {
            $error[] = $validationErrors;
        }
    endforeach;
endif;

在这里,您将获得一个包含所有错误消息的数组…

可能是
'
  • 。$e.
  • '
    $e
    在这里是数组。。。只是一个猜测。请看我更新的帖子,我在那里包括了在不循环到$error数组以创建$str时的响应
    $str = '<ul class="c_red padding_zero margin_zero menu">';
    foreach($error as $e ){ // this is the line 113
        $str.= '<li>'.$e.'</li>';
    }
    $str.='</ul>';
    
    return array('success' => false,  'message' => $error );
    
    if($validator->fails()) :
        foreach($validator->errors()->getMessages() as $validationErrors):
            if (is_array($validationErrors)) {
                foreach($validationErrors as $validationError):
                    $error[] = $validationError;
                endforeach;
            } else {
                $error[] = $validationErrors;
            }
        endforeach;
    endif;