演習課題「間違いを修正してみよう」
右側のエディターエリアのプログラムを元に
標準入力で途中に空行が有った場合でも、最終行まで取得できるように
修正をしてください。
trimの位置に気をつけましょう
期待する出力値
Array
(
[0] => 勇者
[1] =>
[2] => 戦士
)
演習課題「標準入力のすべての行を取得する」
標準入力で行数不明の複数行のデータが入力されます。
右側のエディターエリアのプログラムをもとに、標準入力の空行も含む全ての行の値を
配列に代入し、print_rで出力してください。
期待する出力値
Array
(
[0] => 勇者
[1] =>
[2] => 戦士
)
演習課題「勇者を捜せ!」
標準入力で行数不明の複数行のデータが入力されます。
右側のエディターエリアのプログラムをもとに、標準入力から
入力される値のうち、「勇者」となっているものだけを判別して、
全部で勇者が何回登場したかを整数で出力してください。
※ 標準入力の途中に空行が入る場合でも最終行まで値を取得してください
※ trimに関しては、画面左下のTipsを参考にしてください。
期待する出力値
1
#06:配列にデータを格納してみよう2
このチャプターでは、標準入力からの複数行データを読み込み、配列に格納するやり方について学びます。
途中に空行が有った場合の回避方法について解説します。
while(ループを続ける条件式){
// 繰り返し実行する処理
}
while($hoge) と書くと、変数 $hoge の中に何か値が
ある限りwhileループが回り続ける事になります。
$hoge の中が空になった場合($hoge ="";)ループを抜けます。
逆に $hoge の値が空の場合のみループをまわしたい場合は
while(!$hoge) と書きます。
while文のチャプター(PHP入門3-3、3-4)
http://paiza.jp/works/php/primerfemale/beginner-php3-female/2322
http://paiza.jp/works/php/primerfemale/beginner-php3-female/2323
IF(条件式){
// 条件に当てはる場合実行する処理
}
IF文のチャプター(PHP入門2-1、2-2)
http://paiza.jp/works/php/primerfemale/beginner-php2-female/2310
http://paiza.jp/works/php/primerfemale/beginner-php2-female/2311
■print_r() 関数
指定した配列、変数に関する情報を解りやすく出力する。
http://php.net/manual/ja/function.print-r.php
■fgets() 関数
ファイルポインタから 1 行取得する。
http://php.net/manual/ja/function.fgets.php
fgets(STDIN) で標準入力で与えられたデータを1行取得する事が出来ます。
■trim() 関数
文字列の先頭および末尾にあるホワイトスペースを取り除く。
http://php.net/manual/ja/function.trim.php
PHPで下記の入力を受け取ると戦士
勇者
受け取った入力は「"戦士\n"・ "勇者"」となってしまいます。
この \n(改行)の有無で別の文字列として認識されてしまいます。
たとえば「"戦士"」と「"戦士\n"」は別の文字列として認識されます。
この問題を解決するために、
\n(改行)を取り除くことができるtrim関数を使用します。