Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:如何正确计算循环中的嵌套变量?_Php_Variables_Evaluate - Fatal编程技术网

PHP:如何正确计算循环中的嵌套变量?

PHP:如何正确计算循环中的嵌套变量?,php,variables,evaluate,Php,Variables,Evaluate,嗯。以下是基本知识: for ($k=1;$k<3;$k++) { ${'var'.$k} = 'foo'; } // so far so good for ($j=1;$J<3;$j++) { $dbq .= "stuff {$var{$k}} "; } // problem here ^^ ^^ 我正在寻找$dbq来呈现给stuff foo stuff foo。但我不知道该怎么做。我可以在循环中设置变量没有问题,但是我不知道如何在循环中正确地计算它。当我尝试

嗯。以下是基本知识:

for ($k=1;$k<3;$k++) {
  ${'var'.$k} = 'foo';
} // so far so good

for ($j=1;$J<3;$j++) {    
  $dbq .= "stuff {$var{$k}} ";
} // problem here ^^  ^^
我正在寻找$dbq来呈现给stuff foo stuff foo。但我不知道该怎么做。我可以在循环中设置变量没有问题,但是我不知道如何在循环中正确地计算它。当我尝试这个时,PHP爆炸了。我需要变量的值。它甚至不是真正的变量,因为没有真正的引用;不是想误导,我只是不知道该怎么称呼它

如果有更好的方法,那就开导我吧P


蒂亚。哦

输出循环中的语法不太正确,它基本上与赋值循环相同。您确实需要使用与循环变量j相同的名称,而不是k:

最终,尽管最好的解决方案是阵列:

for ($k=1;$k<3;$k++) {
  $var[$k] = 'foo';
} // so far so good

$dbq = '';
for ($j=1;$j<3;$j++) {    
  $dbq .= "stuff {$var[$j]} ";
}
echo $dbq;

输出循环中的语法不太正确,它基本上与赋值循环相同。您确实需要使用与循环变量j相同的名称,而不是k:

最终,尽管最好的解决方案是阵列:

for ($k=1;$k<3;$k++) {
  $var[$k] = 'foo';
} // so far so good

$dbq = '';
for ($j=1;$j<3;$j++) {    
  $dbq .= "stuff {$var[$j]} ";
}
echo $dbq;
2个问题:-

for ($j=1; $j<3; $j++) { //capital J needs to be small j
输出:-

最好的方法是使用数组:

输出:

更简单的方法是:

输出:

2个问题:-

for ($j=1; $j<3; $j++) { //capital J needs to be small j
输出:-

最好的方法是使用数组:

输出:

更简单的方法是:


输出:

您可以将foo字符串存储在一个数组中,而不是创建单独的变量:$vars[]='foo';然后在第二个循环中,执行:$dbq.='struff'$变量[$j]。';。您可以将foo字符串存储在一个数组中,而不是创建单独的变量:$vars[]='foo';然后在第二个循环中,执行:$dbq.='struff'$变量[$j]。';。明亮的谢谢我通常会使用一个数组,但这是解析JSON转储的一部分,所以我只是将它强行插入db查询,这样我就不必做任何额外的处理。是的,我在变量上做了复制粘贴。谢谢你的帮助回来告诉你这对我来说是一种解脱。非常感谢你。这也适用于@anant。你们。。。非常感谢。这是许多备份工作的关键,我非常感激。时间太长,罐子里的怪物太少…:D@WhiteRau别担心,我很高兴我们能帮你摆脱困境。太棒了。谢谢我通常会使用一个数组,但这是解析JSON转储的一部分,所以我只是将它强行插入db查询,这样我就不必做任何额外的处理。是的,我在变量上做了复制粘贴。谢谢你的帮助回来告诉你这对我来说是一种解脱。非常感谢你。这也适用于@anant。你们。。。非常感谢。这是许多备份工作的关键,我非常感激。时间太长,罐子里的怪物太少…:D@WhiteRau不用担心,我很高兴我们能帮你摆脱困境。我现在看到了。我是如此接近。非常感谢你而且,是的,数组是最佳的,但这是为了db查询而将糟糕的JSON乱七八糟的东西分块的一部分,所以我尝试跳过额外的步骤。否则,是的:阵列FTW。谢谢你帮我排字。。。我累了P@WhiteRau很高兴帮助你:。现在你可以标记答案来结束这个问题。我现在看到了。我是如此接近。非常感谢你而且,是的,数组是最佳的,但这是为了db查询而将糟糕的JSON乱七八糟的东西分块的一部分,所以我尝试跳过额外的步骤。否则,是的:阵列FTW。谢谢你帮我排字。。。我累了P@WhiteRau很高兴帮助你:。现在您可以标记答案以结束此问题。
$dbq .= "stuff ${'var'.$j} "
<?php

$var=[];
for ($k=1;$k<3;$k++) {
  $var[$k] = 'foo';
}

$dbq = ''; //define variable first
for ($j=1;$j<3;$j++) {
  $dbq .= "stuff $var[$j] "; //check syntax change
} 

echo $dbq;
<?php

$var= array_fill(1,2,'foo');
$dbq = '';

foreach($var as $v){

    $dbq .= "stuff $v ";
}
echo $dbq;