2017-04-04 53 views
1

我将一个变量赋值给我在刀片文件中声明的数组。它返回的将变量赋值给一个数组(错误)

ErrorException in 4c73f52d03e3e1331e7b4c0289cafb82dfc22253.php line 127: 
Undefined offset: 0 (View: 
/var/www/myteam/resources/views/servicedetails.blade.php) 

错误下面是我的代码:

<?php $i = 0 ?> 
@foreach($var as $v) 
<?php $ary = array(); ?> 
    <tr> 
     <td name="attrname"><b>{{ $v->service_attribute_name }}</b><br><br></td> 
     <td>: <a><input contenteditable="true" name="attrvalue" value="{{ $v->service_attribute_value}}"></a> <br></td> 
     <?php $v->service_attribute_value = $ary[$i] ?> 
     <?php $i++ ?> 
    </tr> 
@endforeach 

我不可能理解错误。谢谢!

+0

申报阵列'$ ary'。 更改此行' service_attribute_value = $ ary [$ i]; ?>' 与此 '<?php $ ary [$ i] = $ v-> service_attribute_value; ?>' – Gaurav

回答

0

首先,如果$ary = array()foreach循环内声明,则添加到它的任何值将被循环的下一次迭代覆盖,所以该数组将仅为您提供最后一次迭代的值循环。

其次,我觉得你的问题是与这条线:

<?php $v->service_attribute_value = $ary[$i] ?> 

如果你想设置数组值,你需要反转这个语句的顺序:

<?php $ary[$i] = $v->service_attribute_value ?> 

希望这有帮助!

0

您的代码应该是这样的:foreach循环之前

<?php 
    $i = 0; 
    $ary = array(); 
?> 
@foreach($var as $v) 
    <tr> 
     <td name="attrname"><b>{{ $v->service_attribute_name }}</b><br><br></td> 
     <td>: <a><input contenteditable="true" name="attrvalue" value="{{ $v->service_attribute_value}}"></a> <br></td> 
     <?php 
      $ary[$i] = $v->service_attribute_value; 
      $i++; 
     ?> 
    </tr> 
@endforeach