2017-04-04 76 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