PHP加/减字母

时间:2011-11-10 09:15:44

标签: php

我有以下测试代码:

<?php

$letter = 'A';
$letter++;
$letter++;

echo $letter.'<br>';  // C

$letter++;
$letter++;
$letter++;

echo $letter.'<br>';  // F

// how to add plus 3 letters
// so that 
// $letter + 3 => I

如此处所示,使用$letter++$letter--,我可以向上或向下移动角色。有没有办法可以做$letter + 3这样的事情,所以它会增加3个字母。

我知道我可以用循环创建一个函数,它将通过char添加一个char,最后我会得到结果。但是有更好的方法吗?

5 个答案:

答案 0 :(得分:9)

可能有更好的解决方案,但我能想到的最快的方法是:

  // get ASCII code of first letter
$ascii = ord('A');

  // echo letter for +3
echo chr($ascii + 3);

请记住,您将在Z

之后获得其他符号

答案 1 :(得分:2)

试试这个......

      $letter = ord('A')+3;
      echo chr($letter);

答案 2 :(得分:1)

也许这会起作用:

$x = 'G';
$y = range('A','Z');
echo $y[array_search($x,$y)+3];

答案 3 :(得分:0)

旧线程,但万一有人搜索。创建字母数组,需要在电子表格中填写。

$alphabet = array('A','B','C','D','E','F','G','H','I','J','K','L','M',..........'AY','AZ');
//add 36 to the letter A
$val = (array_search('A',$alphabet)) + 36;
echo $alphabet[$val]."<BR>";

答案 4 :(得分:0)

我不喜欢这些答案中的任何一个,因为它们不会复制PHP的功能。下面可能是复制它的最简单方法。

function addLetters($letter,$lettersToAdd){
   for ($i=0;$i<$lettersToAdd;$i++){
      $letter++;
   }
   return $letter;
}

echo addLetters('G',4);
echo "\n";
echo addLetters('Z',4);

给出     ķ     AD

相关问题