paizaの問題集を毎日解いているのでそこでの学習内容を書いていこうと思います。
回答とは違う手順だったので参考にするくらいにしてもらえると嬉しいです。
####問題
与えられた文字列のなかで指定された範囲を大文字にする。
paizaの場合、標準入力からの値の取得をしないといけないのですが今回は下記のようにしました。
$s = "It's nice to meet you."; //与えられた文字列
$a = 6; //始まりの番数
$b = 11; //終わりの番数
次に文字列の数だけ処理を回したいので、文字数を数えます。
大文字に変更後の文字列を入れるために空の変数を用意します。
文字列を一文字づつの配列にします。
$n = mb_strlen($s);// 出力:22
$ans = "";
$array_s = str_split($s);//文字列を一文字づつ格納
次に繰り返し処理を行っていきます。
for($i = 0; $i < $n; $i++)//文字の数だけ繰り返す
{
if($a - 1 <= $i && $i < $b)//何番目から何番目なら
{
$ans = strtoupper($s[$i]);//大文字にする
}else//それ以外なら
{
$ans = $s[$i];//そのままにする
}
echo $ans;//出力:It's NICE To meet you.
}
これで指定された範囲の大文字化ができました。
paizaの問題集はひとつづつクリアしていくと解けるようになっているのでかなり勉強になります。