PHP勉強1日目まとめ

ノートにまとめたものをこちらにも書いていくスタイル
改行の仕方
<?php
echo "{変数名}\n";
?>PHP8?ではこうするらしい。変数は{}で囲む。
Paizaでの標準入力
練習問題を解くために利用した、Paizaの標準入力についてメモ書き。
1単語だけの場合
<?php
trim(fgets(STDIN));
?>- trim:文字列の先頭・末尾にあるホワイトスペース(改行・空白)を取る
- fgets:ファイルポインタから1行取得する
- ファイルポインタ:サーバーが使用するファイルを扱うための専用しおり→現在のファイルをどこまで読み書きしたか示す
- STDUIN:Paizaの標準入力オブジェクト(モノ)
複数行にまたがるとき(2行目~を取りたい!)
<?php
$a = trim(fgets(STDIN));
$b = trim(fgets(STDIN));
$c = trim(fgets(STDIN));
echo "{$a}\n";
echo "{$b}\n";
echo "{$c}\n";
?>上記もできるけど、必要な分だけたくさん取得しないといけない。→コードが長くなる!
<?php
$input_line = trim(fgets(STDIN)); //1行目(個数)を取得
for($i = 0; $i < $input_line; $i++){
$a = trim(fgets(STDIN)); //2行目から1行ずつ指定された回数分ループ
echo "{$a}\n"; //取得したものを出力
}
?>
1行目に個数が書いてない場合は?
データ行が不明な場合、whileを使うと最後まで全部読み込んでくれる。
<?php
while($line = fgets(STDIN)){
$a = trim($line); //N個数分繰り返す
echo "読み込んだ行:{$a}\n"; //取得したものを出力
}
?>前後に半角スペースがあるとき
<?php
//入力文字:A B C
$array = explode(" ", trim(fgets(STDIN)));
echo $array[0]; //配列array[A,B,C]から取る。
?>- explode():””に入っている文字で入力文字を区切る。
入力文字が少数の場合
直接変数に入れちゃうことも可能◎
<?php
//入力文字:A B C
list($a, $b, $c) = explode(" ", trim(fgets(STDIN)));
echo "{$a}\n"; //出力:A
echo "{$b}\n"; //出力:B
echo "{$c}\n"; //出力:C
?>- list関数:配列と同じ形式で複数の変数へ代入。空の式(null)は×
list($var, $var…)
