PHP变量,每次出现都得+ 1

时间:2012-07-20 18:00:11

标签: php variables

我想替换此代码:

$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;

并保留第一段代码的功能。

有可能吗?

4 个答案:

答案 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。