我想替换此代码:
$html=<<<EOF
<p>{${$var[i]}[name]}</p>
<p>{${$var[i+1]}[name]}</p>
<p>{${$var[i+2]}[name]}</p>
<p>{${$var[i+3]}[name]}</p>
EOF;
有这样的事情:
$html=<<<EOF
<p>{${$var[new_i]}[name]}</p>
<p>{${$var[new_i]}[name]}</p>
<p>{${$var[new_i]}[name]}</p>
<p>{${$var[new_i]}[name]}</p>
EOF;
并保留第一段代码的功能。
有可能吗?
答案 0 :(得分:5)
增援后救援!
$html=<<<EOF
<p>{${$var[$i++]}[name]}</p>
<p>{${$var[$i++]}[name]}</p>
<p>{${$var[$i++]}[name]}</p>
<p>{${$var[$i++]}[name]}</p>
EOF;
虽然如果您在此之后立即显示$html
,但最好这样做:
<?php for($i = 0; $i < $max_i; ++$i):?>
<p><?php echo ${$var[$i]}[name] ?></p>
<?php endfor;?>
答案 1 :(得分:4)
这是增量器的用武之地。
在采取任何行动后, $i++
会将值增加1。
++$i
会将值增加一。
$html=<<<EOF
<p>{${$var[$i++]}[name]}</p>
<p>{${$var[$i++]}[name]}</p>
<p>{${$var[$i++]}[name]}</p>
<p>{${$var[$i++]}[name]}</p>
EOF;
示例:
$i = 0;
echo $i++; // echo's 0
$i = 0;
echo ++$i; // echo's 1
答案 2 :(得分:2)
您可以传入i++
,以便每次出现时都会递增。
答案 3 :(得分:-2)
$new_i = 0;
$html=<<<EOF
<p>{${$var[$new_i]}[name]}</p>
<p>{${$var[++$new_i]}[name]}</p>
<p>{${$var[++$new_i]}[name]}</p>
<p>{${$var[++$new_i]}[name]}</p>
EOF;
在变量的左侧使用++
会在使用该变量之前将值递增1。