以下代码应仅返回" 5"一次(第一次) 而是返回" 5"对于每次迭代。 AS" 5555555555555555555555555"
$col11=5;
for($x=1; $x<=5; $x++) {
for($y=1; $y<=5; $y++) {
if("$col{$x}{$y}") {
echo $col11;
}
}
}
答案 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;
}
}
}
?>
答案 2 :(得分:0)
我不明白你什么时候想要回复$ col11?也许你想要回答col为x = 1和y = 1所以你可以做出这样的条件:
if ($x==1 && $y==1)
我不确定你研究的是什么?