PHPで、「A、B、C… という順を配列などを使わずにできるのか」という問題があり、調べた。
文字列をインクリメントする方法があるが、逆にデクリメントできないということがマニュアルを読んで分かった。
PHPのマニュアル:http://php.net/manual/ja/language.operators.increment.php
作成したサンプルのプログラムは、以下の通りです。
<?php
$alpha = 'A';
// B
echo ++$alpha."\n";
// B(Aではない)
echo -- $alpha."\n";
// C
echo ++ $alpha."\n";
$alpha = 'Z';
// AA
echo ++ $alpha."\n";
// AA(Zではない)
echo -- $alpha."\n";
// AB
echo ++ $alpha."\n";
?>
ASCIIコードに従うようにはなるが、以下のような実装もある。
<?php
$alpha = 1;
// B
$str = sprintf("この文字列はエスケープで終了します: %c", 65+$alpha);
echo $str."\n";
?>