【文字列処理メニュー】> 大文字小文字の反転 (paizaランク D 相当) [難易度: 1090 ±16]
※リンク先へ移動するためには[paiza]へのログインが必要です。

大文字と小文字のアルファベットが混ざった文字列 S が与えられます。
S の小文字を全て大文字に、大文字を全て小文字にした文字列を出力してください。
入力値(例)
Paiza
出力値(例)
pAIZA
解答例
1 2 3 4 5 6 7 8 9 10 11 |
<?php $input = trim(fgets(STDIN)); $str = str_split($input); foreach($str as $value) { if(ctype_upper($value)) { echo strtolower($value); } else { echo strtoupper($value); } } ?> |

解説
文字列を配列に変換する関数、str_split()を使っています。
1 |
str_split(文字列 [, 区切る長さ]) |
$str = "Hello World!";
$array1 = str_split($str);
$array2 = str_split($str, 3);
出力結果
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => W
[7] => o
[8] => r
[9] => l
[10] => d
[11] => !
)
Array
(
[0] => Hel
[1] => lo
[2] => Wor
[3] => ld!
)
str_split()は、n文字ずつ出力しなさいなどの問題に対応できそうですね。(*'ω'*)