PHP增量按字母顺序循环

时间:2017-02-01 05:21:57

标签: php

我有这样的代码。

$str = 'A';
for ($i = 1;; $i++) {
    $count = ++$str;
    echo 'James said ' . $str.'<br>';
    echo 'Lia said ' . $str.'<br>';
    echo 'Ben said ' . $str.'<br>';
    if ($str == 'D') {
        echo 'STOP';
        break;
    }
}
die();

给我这样的结果,这不是我想要的。

James said B
Lia said B
Ben said B
James said C
Lia said C
Ben said C
James said D
Lia said D
Ben said D
STOP

我想要的是:

James said B
Lia said C
Ben said D
STOP

我怎么能有这样的结果? 或者可能还有其他一些方法?喜欢使用数组吗?

非常感谢您的帮助!

3 个答案:

答案 0 :(得分:3)

每次使用$str时,您只需要递增它:

echo 'James said ' . ++$str . '<br>';
echo 'Lia said ' . ++$str . '<br>';
echo 'Ben said ' . ++$str . '<br>';

答案 1 :(得分:1)

对于一个简单的任务来说,这么多代码是无聊的不是吗?你也可以

$terms= range('B','D');
foreach(array('James','Lia','Ben') as $i=>$person){
   echo "$person said {$terms[$i]}\n";
}
echo "STOP";

<强> Fiddle

答案 2 :(得分:1)

试试这个

        <?php

        $name = array("James said","Lia said","Ben said");
        $str = 'A';
        for ($i = 0;; $i++) {
            $count = ++$str;
            echo $name[$i] ." ". $str.'<br>';

            if ($str == 'D') {
                echo 'STOP';
                break;
            }
        }
        die();
        ?>
    /* output

    James said B
    Lia said C
    Ben said D
    STOP

*/