標準入力の扱い
-
fgets()
$line = fgets(STDIN);
改行またはEOF(End of File)に達したかのいずれかの時点で終了する。 -
trim()
$line = trim(fgets(STDIN));
用意された標準入力ファイルの行頭・行末に余計な空白等があって望んだ出力が得られない場合に、それらを削除します。 -
explode()
$array = explode("区切り文字", $line);
[$a, $b] = explode(' ', trim(fgets(STDIN)));
返り値:文字列を区切り文字で分割した結果を配列として返す。
-
implode()
$string = implode("区切り文字", $array);
返り値:区切り文字で配列の中身を連結した文字列を返す。 -
fscanf()
fscanf(STDIN, "%d %d %d", $a, $b, $c);
区切り文字がカンマの場合は"%d,%d,%d"とする。
%s:文字列(string)
%d:10進数の整数(digit) -
連想配列に収納する
[$a, $b] = explode(' ', trim(fgets(STDIN)));
$ab[$b] = $a;
文字列の操作
-
文字列の出現回数を調べる substr_count
substr_count (検索対象文字列, 検索する文字列);
※この関数は重なり合う副文字列をカウントしない。 -
文字列を配列に変換する str_split
str_split (変換する文字列, 分割する長さ);
返り値:配列 -
文字列の一部を得る mb_substr
mb_substr(文字列, 開始位置 ,切り取る文字数);
(例)文字列$sの、$a番目から$b番目まで切り取る。
mb_substr($s, $a - 1, $b - $a + 1);
-
文字列を大文字・小文字に変換する strtoupper()、strtolower()
大文字に変換strtoupper(文字列);
小文字に変換strtolower(文字列);
-
文字列の長さを取得する mb_strlen
mb_strlen(文字列);
返り値:文字列の長さをint型で取得
配列の操作
-
配列を降順にソートする rsort
rsort(配列);
返り値:成功した場合は TRUE を、失敗した場合は FALSE を返す。 -
配列を昇順にソートする ksort
ksort(配列);
返り値:成功した場合は TRUE を、失敗した場合は FALSE を返す。 -
配列の値の合計を計算する array_sum
array_sum (配列);
返り値:int型、もしくはfloat型の配列の合計 -
配列から重複した値を削除する array_unique
array_unique(配列);
返り値:処理済みの配列 -
配列要素を文字列により連結する implode
implode(連結文字,配列);
返り値:すべての配列要素の順序を変えずに、各要素間に separator 文字列をはさんで 1 つの文字列にして返す。
四捨五入・切り上げ・切り捨て
-
四捨五入
round(丸める値, 桁数);
※桁数に正の数を指定すると小数点以下何位まで表示するか、桁数に負の数を指定すると整数の何桁以上で四捨五入するかを指定できる
返り値:丸められたfloat型の値 -
切り上げ
ceil(丸める値);
-
切り捨て
floor(丸める値);
よく使う構文
-
ループ処理
for ($i = 0; $i < $n; $++) { }
-
foreach
foreach ($array as $k => $v) { echo $k . ' ' . $v . "\n"; }