この記事は連続したアルファベットabcdefghijklmnopqrstuvwxyz
のような文字列を取得したい場合の方法を紹介します。
range()を使う
range()は引数が文字の場合はASCII文字列で出力してくれますので、それを利用します。
implode(range('A', 'Z')); // ABCDEFGHIJKLMNOPQRSTUVWXYZ
implode(range('a', 'z')); // abcdefghijklmnopqrstuvwxyz
// 逆順も出力できます
implode(range('Z', 'A')); // ZYXWVUTSRQPONMLKJIHGFEDCBA
implode(range('z', 'a')); // zyxwvutsrqponmlkjihgfedcba
PHP注意点
A-Zとa-zを合体させたものや、数字を含めた文字列を作る場合はそれぞれ別々に作成して結合させる必要があります。
implode(range('A', 'z')); // ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
implode(range('0', 'Z')); // 0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ
PHPこれはASCIIコード順に出力するために発生しています。
コメント