PHP 問題:文字の装飾
-新しく学んだこと-
・文字数のカウント
・文字列の埋め方
・複数行の表示
問題:入力された文字列の周囲を”+”で枠のように囲んで表示させてください。
入力例1 Paiza
答え +++++++
+Paiza+
+++++++
プログラミングの前に動きのイメージをします。
プログラムに直すと
3行目:全体用の箱を用意します。
4行目:”+”の行が入る箱を用意します。
5行目:文字数のカウント用の箱を用意します。
6行目:入力された文字を$mojiに受け取ります。
7行目:文字数を$kazuに入れます。
8行目:文字数+2を上限に”+”を$kazariに入れます。
9行目:文字数+2を上限として、$mojiの両脇へ”+”を加えて、$mojikazariに入れます。
10行目:<<< EOMからEOM; までの命令を$zenに入れます。
14行目:$zenを出力します。
・mb_strlen(対象)
対象内の文字を数えます。英数字・ひらがな区別無く1文字は1つとして数えます。
・str_pad(埋めたい文字列,合計で何文字にするか,埋める文字,どこを埋めるか)
入力例1では、Paizaを埋めたい文字列、文字列+2を上限として、”+”を埋める文字、両埋めとしています。
右埋め:STR_PAD_RIGHT
左埋め:STR_PAD_LEFT
両埋め:STR_PAD_BOTH
・= <<< EOM ~ EOM;
ヒアドキュメントといわれます。
<<<がヒアドキュメントの合図で、この次に書いた文字が再び現れるまですべて=に設定された箱(変数)へ入れます。ここに入力された通りに表示したい時、複数行を表示したい時に役立ちます。