初めに
最近codewarsというプログラミング練習用のサイトに登録した。私はこれまでのPJでPHPとJSはやっているので、問題はPHPで解いている。その中でこうすればさらに簡潔にプログラムを書けるなという気づきがあったので、備忘録として書く。
codewars
全て英語だが、他の人が書いた解答を見ることができる。また機会があればまとめる。
https://www.codewars.com/
問題の内容
かなりざっくりと書くと、以下のような問題があった。
数値nの回数だけ文字列Iを繰り返して出力する
これを見た瞬間に、繰り返しだと判断した私は真っ先にこのような答えを書いた。
PHP
for($i = 0; $i < n; $i++){
echo "I";
}
for文を使った基本的な繰り返し文である。例えばn=2の場合,"II"と出力される。
ではこれを関数を使って書きなおしてみよう。
str_repeatを使う
str_repeat(string $string, int $times): string
string を times 回を繰り返した文字列を返します。
PHPマニュアルから引用
上記を踏まえ,str_repeat関数でコードを書きなおすと以下になる。
PHP
echo str_repeat("I", n)
3行だったコードが1行に収まった。視認性も良く、直感的に理解しやすい(と思う)。
まとめ
PHPならではの関数がいくつもあるため、プログラミング力向上のためにも使いこなせるようになりたい。