PHP动态变量中的迭代 函数stepzero(){ $alcount=$\u POST[“alcount”];//检索行数 $crcount=$\u POST[“crcount”];//检索列数 对于($x=1;$x

PHP动态变量中的迭代 函数stepzero(){ $alcount=$\u POST[“alcount”];//检索行数 $crcount=$\u POST[“crcount”];//检索列数 对于($x=1;$x,php,Php,而言,此代码可能要简单得多 例如,以下两行: function stepzero(){ $alcount = $_POST["alcount"];//retrieve number of row $crcount = $_POST["crcount"];//retrieve number of coloumn for ($x=1; $x <=$crcount ; $x++) { //Loop for coloumn for ($y=1; $y &l

而言,此代码可能要简单得多

例如,以下两行:

function stepzero(){
    $alcount = $_POST["alcount"];//retrieve number of row
    $crcount = $_POST["crcount"];//retrieve number of coloumn

    for ($x=1; $x <=$crcount ; $x++) { //Loop for coloumn
        for ($y=1; $y <=$alcount ; $y++) { //Loop for row
            ${"v".$y."t".$x} = $_POST["r".$y."c".$x];//retrieve value of table
            ${"v".$y."t".$x} = ${"v".$y."t".$x}*${"v".$y."t".$x};//square the value
            ${"nv".$y."t".$x} = ${"nv".$y."t".$x} + ${"v".$y."t".$x}; //not working
            echo ${"nv".$y."t".$x};
            echo "<br>";
        }
    }
}
可以更好地写为:

${"v".$y."t".$x} = ${"v".$y."t".$x}*${"v".$y."t".$x};//square the value
${"nv".$y."t".$x} = ${"nv".$y."t".$x} + ${"v".$y."t".$x}; //not working

如果您只想得到一组值的平方和,请尝试以下方法:

${"v".$y."t".$x} *= ${"v".$y."t".$x};//square the value
${"nv".$y."t".$x} += ${"v".$y."t".$x}; //not working
函数stepzero(){
$alcount=$\u POST[“alcount”];//检索行数
$crcount=$\u POST[“crcount”];//检索列数
$sum=0;

对于($x=1;$x数组比代码中的变量更容易使用${nv.$y.$t.$x}=${nv.$y.$t.$x}+${v.$y.$t.$x};类似于${nv.$y.$t.$x}=0+${v.$y.$t.$x};这就是它返回相似值的原因。这太疯狂了。使用数组。我认为如果你运行了,你最终会被发送到:仅仅因为他做错了就否决这个问题是不公平的。好吧,这样做的时候,你可能会注意到${“nv”。$y。“t”。$x}是循环每次迭代的一个新变量。所以,当你添加${“v”。$y。“t”。$x}对于它,您实际上只是将${“v”$y.$t.$x}添加到零。您是否尝试将其全部相加?是的,我尝试将其全部相加,但保存所有迭代。现在我尝试创建一个全局数组,然后使用循环插入每个${“v”$y.$t.$x}。然后我将使用foreach()对其求和.是这样吗?现在我明白你在干什么了,我发布了一个不同的答案。我想这就是你想要的。
function stepzero(){
    $alcount = $_POST["alcount"];//retrieve number of row
    $crcount = $_POST["crcount"];//retrieve number of coloumn
    $sum = 0;

    for ($x=1; $x <=$crcount ; $x++) { //Loop for coloumn
        for ($y=1; $y <=$alcount ; $y++) { //Loop for row
            $sum += $_POST["r".$y."c".$x] * $_POST["r".$y."c".$x];
        }
    }

    return $sum;
}