Laravel收到错误未定义偏移量:3

时间:2018-10-26 07:43:30

标签: php laravel

我的laravel应用程序出现错误。该错误指出未定义的偏移量:3。

控制器

        public function updateVisaDocuments($type, $details, $visa, $documents_id){
    $visas_documents_db = \App\VisaDocuments::where ( 'visa_id', $visa->id )->get();
    foreach($visas_documents_db as $document_db){
        $count=0;
        for($j = 0; $j < sizeof ( $documents_id ); $j ++) {
            if($document_db->id==$documents_id [$j]){
                $count++;
            }
        }
        if($count==0)
            $document_db->delete();
    }

    for($i = 0; $i < sizeof ( $type ); $i++) {
        if(!empty($type[$i])){
            if(!empty($documents_id[$i])){
                $visa_documents = \App\VisaDocuments::where ( 'id', $documents_id[$i] )->first ();
            }else{
                $visa_documents=new VisaDocuments();
                $visa_documents->id=Uuid::generate ();
            }
                $visa_documents->type=$type[$i];
                $visa_documents->details=json_encode($details);
                $visa_documents->visa_id=$visa->id;
                if(!empty($documents_id[$i]))
                    $visa_documents->update();
                else
                    $visa_documents->save();
        }
    }
}
 foreach ($visa->documents as $documents){
    $i++;
    $det=json_decode($documents->details,true);
    $size_det=sizeof($det);
    $size_det_inside=sizeof($det[$i]);
    $k=0;

查看

<?php $size_det_inside = sizeof($det[$i]);?>
@for($j=0; $j< $size_det_inside; $j++)
@if($det[$i][$j] != '')
<input type="text" name="document_details[{{$i}}][]" value="{{$det[$i][$j]}}" />

@endif
@endfor 

sizeof($det[$i]);(查看)在这里出现错误。我想,结果是json格式,在我的视图文件中,我将其视为变量。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

如果您的php版本是7.0或更高版本,则应使用count()函数而不是sizeof()。请使用count()。

http://php.net/manual/en/function.sizeof.php