代码之家  ›  专栏  ›  技术社区  ›  Scott Saunders

循环遍历数据数组并打印一个“递增”字母

php
  •  11
  • Scott Saunders  · 技术社区  · 14 年前

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

    8 回复  |  直到 14 年前
        1
  •  20
  •   Michael Mrozek    14 年前
    $letters = range('a','z');
    
        2
  •  23
  •   Sarfraz    14 年前

    使用 range 功能:

    $letters = range('a', 'z');
    print_r($letters);
    

    foreach 循环分别处理每个字母:

    foreach($letters as $letter) {
        echo $letter . '<br />';
    }
    
        3
  •  8
  •   Mark Baker    14 年前

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

    $var = 'a';
    do {
       echo $var++.'<br />';
    } while ($var != 'aa');
    
        4
  •  3
  •   Thomas Langston    14 年前

    你的意思是有这样的东西吗?

    foreach(range('a','z') as $value)
    {
      echo $value . ","
    }
    
        5
  •  3
  •   JohnFx    14 年前
    for ($counter = ord('a'); $counter <= ord('z'); $counter += 1) {
        echo chr($counter) . " - $counter";
    }
    
        6
  •  3
  •   Peter Ajtai    14 年前

    增量运算符的简单用法:

    <?php
    $array = array("cat","car","far","tar","tag");
    
      // No need for an array, just set $letter to "a", then increment it.
    $letter = "a";
    
    foreach($array as $value) {
          // Print your letter, then increment it.
        echo $letter++ . " - $value\n";
    }
    ?>
    

    Look at it live.

    优势 使用此方法而不是创建数组 ,因为你刚换成了两个字母: like this .

        7
  •  0
  •   tplaner    14 年前

    如果使用 $key => $value foreach循环的功能:

    $letters = range('a', 'z');
    
    foreach($letters as $key => $value)
    {
        echo $key . '=>' . $value;
    }
    

    你甚至可以简单地做到:

    foreach(range('a', 'z') as $key => $value)
    {
        echo $key . '=>' . $value;
    }
    
        8
  •  0
  •   BrettAHale    11 年前

    为了好玩。。。

    $array = array(11, 33, 44, 98, 1, 3, 2, 9, 66, 21, 45);
    $new_array = array_combine(array_slice(range('a','z'),0,count($array)),$array);
        foreach($new_array as $k=>$v){
            echo "$k - $v";
        }