takenoko03の日記

PHP言語で仕事する

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;

ヒアドキュメントといわれます。

<<<がヒアドキュメントの合図で、この次に書いた文字が再び現れるまですべて=に設定された箱(変数)へ入れます。ここに入力された通りに表示したい時、複数行を表示したい時に役立ちます。