如何打破第二个foreach循环

时间:2018-07-17 14:30:30

标签: laravel laravel-5.6

实际上,在这段代码中,我试图显示Reducesum_ragged_matrix = function(m1,m2){ m1r = nrow(m1r) m2r = nrow(m2r) m1c = ncol(m1c) n2c = ncol(m2c) max_rows = max(c(m1r,m2r)) max_cols = max(c(m1c,m2c)) t1 = matrix(0,nrow = max_rows,ncol = max_cols) t2 = t1 t1[1:m1r,1:m1c] = m1 t2[1:m2r,1:m2c] = m2 return(t1+t2) } a = matrix(c(1:12),nrow=3,ncol=4,dimnames=list(c(0:2),c(0:3))) b = matrix(c(1:6),nrow=2,ncol=3,dimnames=list(c(0:1),c(0:2))) c = matrix(c(1:4),nrow=2,ncol=2,dimnames=list(c(0:1),c(0:1))) Reduce(sum_ragged_matrix,list(a=a,b=b,c=c),init=matrix(0,nrow=1,ncol=1)) 字段来自数据库的动态变化。

  • 在第一个foreach循环中,包含一个form label
  • 第二,foreach包含form input个字段数据。

如果第二个foreach没有数据,则两个foreach都不起作用我该怎么办?

label

@endsection

1 个答案:

答案 0 :(得分:0)

通过阅读代码,您似乎正在尝试使用label变量的值填充$data元素,并尝试使用{{1 }}变量。就像现在编写代码一样,您正在遍历input中的所有项目,并且每次循环遍历$ans的所有值。因此,如果您有3个表单项和3个答案,则实际上将运行9个循环。您将获得各种可能的值组合。

似乎每个$fetchform都有一个对应的$fetchans。如果是这种情况,请继续上面的示例,您只需要运行3个循环。如果我要编写这段代码,我会看起来像这样:

fetchform

请记住,上面的代码对您的问题进行了一些假设。首先,假设fetchans //loop through all items in $fetchform @for ($i = 0; $i < count($fetchform); $i++) //php tags needed in blade to set the variables @php $data = $fetchform[$i]; //get the form data $ans = $fetchans[$i]; //get the corresponding form answer @endphp //it might be more appropriate to check these for 'empty' instead of null //that all depends on your code @if(!is_null($data) || !is_null($ans)) //make sure object has the 'f1' key and value is not null @if(array_key_exists('f1', $data) && !is_null($data->f1)) <div class="form-group label-floating"> <label class="control-label">{{ $data->f2 }}</label> <input name="f2" type="text" class="form-control" value='{{ $ans->f2 }}' /> </div> @endif @endif @endfor 是可以由$fetchform值访问的数值数组。其次,假设$fetchans$i具有对应的键值,因此数据和答案在各自的数组中都位于同一数字键上。最后,假设不存在时的值将是$fetchform而不是$fetchans,我认为更可能是这种情况。您可能需要修改我提供的代码以适合您的确切需求。玩一下,看看它是否有效。