php for循环工作每个itiration

时间:2018-04-30 06:40:54

标签: php

以下代码应仅返回" 5"一次(第一次) 而是返回" 5"对于每次迭代。 AS" 5555555555555555555555555"

$col11=5;

for($x=1; $x<=5; $x++) {
   for($y=1; $y<=5; $y++) {
      if("$col{$x}{$y}") {
           echo $col11;
        }

   }
}

3 个答案:

答案 0 :(得分:0)

像这样更改if条件:

$col11=5;

for($x=1; $x<=5; $x++){
    for($y=1; $y<=5; $y++){
        $val = "col{$x}{$y}";
        if($$val) 
        {
          echo $col11;
        }

    }
}

答案 1 :(得分:0)

您的if条件只是检查提供的字符串是否为真值。是的,您正在插入$x$y值,但它仍然只是一个字符串。您可以做的是将变量的名称组合为一个字符串,然后使用$$动态访问变量名称。您还可以使用isset()来确定是否已设置变量。

<?php
$col11=5;

for($x=1; $x<=5; $x++){
    for($y=1; $y<=5; $y++){

        // Store desired variable-name as string in a temp variable
        $variable = "col{$x}{$y}";

        // Check this temp variable's existance by using referece variable ($$)
        if (isset($$variable)) {
            echo $$variable;
        }

    }
}
?>

Check Output here

答案 2 :(得分:0)

我不明白你什么时候想要回复$ col11?也许你想要回答col为x = 1和y = 1所以你可以做出这样的条件:

if ($x==1 && $y==1) 

我不确定你研究的是什么?