PHP foreach函数中的不同格式?

时间:2015-05-07 20:01:27

标签: php arrays foreach

我试图在循环中打印出一系列字符串,每次迭代都会修改字符串。具体来说,我想在字符串中添加一个字母,每次迭代都会按字母顺序递增字母。

例如,如果我运行下面的foreach函数:

foreach ( $terms as $term ) {
    echo "data-tax='".$term->name."'";
}

我会得到像

这样的东西
data-tax='apple'
data-tax='orange'
data-tax='banana'

但是我想在字符串中添加一个字母,每次运行都会增加一个字母,产生以下内容:

data-tax-a='apple'
data-tax-b='orange'
data-tax-c='banana'

我怎样才能做到这一点?我知道我可以在字符串中添加一个字母,但是如何通过字母表移动呢?

2 个答案:

答案 0 :(得分:4)

您可以像在数字中一样增加PHP中的字母/字符串。因此,只需使用类似于计数器的字母,并在每个循环中递增它。另见:Increment Letters like numbers

$letter = 'a';
foreach ( $terms as $term ) {
    echo "data-tax-{$letter}='".$term->name."'";
    $letter++;
}

答案 1 :(得分:1)

$l = 'a';
foreach ( $terms as $term ) {
    $tName = $term->name;
    echo "data-tax-$l='$tName'";
    $l++;
}

请注意,从z递增会产生aa,即:

$letter = "z";
$letter++;
echo($letter);
//aa