循环遍历数据数组并打印"递增"字母

Sco*_*ers 11 php

我需要遍历一个数据数组并为每个数组值打印一个"递增"字母.我知道我可以这样做:

$array = array(11, 33, 44, 98, 1, 3, 2, 9, 66, 21, 45); // array to loop through
$letters = array('a', 'b', 'c', ...); // array of letters to access
$i = 0;
foreach($array as $value) {
    echo $letters[$i++] . " - $value";
}
Run Code Online (Sandbox Code Playgroud)

似乎应该有一种比创建字母数组更好的方法.有什么建议?

注意 - 我的循环永远不会通过整个字母表,所以我不担心用完字母.

Sar*_*raz 23

使用range功能:

$letters = range('a', 'z');
print_r($letters);
Run Code Online (Sandbox Code Playgroud)

您还可以使用foreach循环单独处理每个字母:

foreach($letters as $letter) {
    echo $letter . '<br />';
}
Run Code Online (Sandbox Code Playgroud)

  • 我预见你将来会有一个民粹主义徽章 (5认同)
  • @crayon我认为这不是问题.相反,他的答案有点发达.(当然,只是更多一点.)我不知道如果OP意识到,但是答案中最初提供的`foreach`循环会给他一个'$ key`计数器,他不需要手动增加,因为循环正在处理数字数组. (2认同)

Mar*_*ker 8

就像一个演示(我知道你已经接受了答案),但知道你也可以增加字符变量有时很有用:

$var = 'a';
do {
   echo $var++.'<br />';
} while ($var != 'aa');
Run Code Online (Sandbox Code Playgroud)