当前位置: 首页 > 知识库问答 >
问题:

将变量赋给数组(错误)

樊熠彤
2023-03-14

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

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

我无法理解这个错误。谢谢!

共有2个答案

郭通
2023-03-14

您的代码应该是这样的:

<?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
松旭
2023-03-14

首先,如果 循环内部声明了 ,那么您添加到其中的任何值都将被循环的下一次迭代覆盖,因此数组将只为您提供循环最后一次迭代的值。

其次,我认为你的问题在于这条线:

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

如果试图设置数组值,则需要颠倒以下语句的顺序:

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

希望有帮助!

 类似资料:
  • 我想把列表中的对象分配给类变量。 感恩节:)

  • 我的代码是这样的: 但最后一句话: 总是停止编译说我需要给新变量分配一个返回值?在if语句之前,已经为k分配了一个值。当我把随机k语句放在if语句中时,它似乎是有效的,但这使得它毫无价值,不是吗?编辑器本身没有错误,但是当我编译时,它给了我这个: 线程“main”java中出现异常。lang.IndexOutOfBoundsException:索引:41,大小:36。util。ArrayList。

  • 本文向大家介绍PHP list() 将数组中的值赋给变量的简单实例,包括了PHP list() 将数组中的值赋给变量的简单实例的使用技巧和注意事项,需要的朋友参考一下 list() PHP list() 用一步操作把数组中的值赋给一些变量。同 array() 一样,list() 不是真正的函数,而是语言结构。 语法: void list( mixed var, mixed ... )注意: lis

  • 问题内容: 第一个System.out打印 2 并且应该打印,而第二个System打印 65 。我已经用这种语言编程了一年多了,据我所知这是不可能发生的!有什么帮助吗? 上面的代码在两行上都显示 9 。 问题答案: 当你这样做,之前仅仅是一个参考阵列, NO 新阵列已创建并分配给。因此,当您查看自己的价值时,基本上就是查看的价值,反之亦然。只是的别名。这就是为什么在第二张照片中您得到65。 检查该

  • 问题内容: 我正在使用netbeans 7.1.1。这是我的代码,在这里我已将“ c”声​​明为“ final int”,但行“ c = Integer.parseInt(f.getText());” 我收到一个错误“无法为最终变量赋值”。如果我从声明中删除final一词,并使之与“ int c”相同,则在同一行中会出现错误“无法从类内访问局部变量c;需要声明为final”。谁能告诉我为什么会这样

  • 对于大学评估,我必须使用一个名为sc的扫描器,具有班级范围,整个课程必须包含在一个班级中。main方法调用方法,该方法使用Scanner和for循环调用两种方法之一以响应用户输入。 这两种方法之一使用扫描仪来计算输入整数的阶乘。执行该方法后, 中的 for 循环将继续。为了避免由于用户输入浮点数而导致的输入不匹配异常,我使用了try/catch。但是,当程序返回到 for 循环时,扫描程序在会导致