PHPサンプルコード

標準入力

<?php
    // 標準入力がHelloの場合こんにちはを出力

    $greeting = trim(fgets(STDIN));
    if ($greeting == "Hello") {
        echo "こんにちは\n";
    }
?>
<?php
    // 1. 標準入力から文字列を 1 個受け取る
    // 2. その文字列が「Hello」に等しい場合、次のメッセージを表示する
    // こんにちは
    // 3. 「Hello」に等しくない場合、次のメッセージを表示する
    // AAAはHelloではない    ※AAAに、その文字列を当てはめる

    $name = trim(fgets(STDIN));
    if ($name == "Hello") {
        echo "こんにちは\n";
    } else {
        echo $name . "はHelloではない\n";
    }
?>

文字変換

<?php
// ファイル名に含まれる長さ 2 以上のハイフンをすべて長さ 1 にしたファイル名を文字列で出力してください。
// ファイル名の文字列は100字以内

$stdin = trim(fgets(STDIN));

for($i = 100; $i >= 1; $i--){ 

    $repeat_count = $i;
    $text = str_repeat("-", $i);

    $stdin = str_replace($text, "-", $stdin);
}

echo $stdin;
?>

複数行入力

<?php

// ・1 行目には、あなたの食べたい料理名を表す文字列 S が与えられます。
// ・2 行目には、与えられるメニューの単語数を表す整数 N が与えられます。
// ・3 行目には、メニュー名を表す単語の文字列 T_i (1 ≦ i ≦ N) が半角スペース区切りで与えられます。
// ・入力は全部で 3 行となり、最終行末尾に改行が一つ入ります。
// 与えられたメニューがあなたの食べたい料理であれば "Yes" を、そうでなければ "No" を出力してください。

// 標準入力を一行ずつ配列に代入
while ($stdin = trim(fgets(STDIN))) {
    $stdin_array[] = $stdin;
}

$my_menu = $stdin_array[0];

$menu_count = --$stdin_array[1];

$menu_array = explode(' ',$stdin_array[2]);

for($i = 0; $i <= $menu_count; $i++){ 

    $menu_word = $menu_array[$i];


    
    // "Yes" を、そうでなければ "No"
    if ($my_menu == $menu_word) {
        echo "Yes";
        break;
    } elseif ($my_menu != $menu_word && $i == $menu_count) {
        echo "No";
        break;
    }
}

?>

多重ループ
多次元配列

<?php

// ・1 行目にクラスの人数を表す整数 N が与えられます。
// ・続く N 行のうちの i 行目 (1 ≦ i ≦ N) には、i 番目の生徒が投票したクラスメイトの名前 a_i が与えられます。
// ・入力は合計で N + 1 行となり、入力値最終行の末尾に改行が 1 つ入ります。
// ・最も得票数の多い人は 1 人のみです。

while ($stdin = trim(fgets(STDIN))) {
    $stdin_array[] = $stdin;
}

$num_peaple = $stdin_array[0];

for($i = 1; $i <= $num_peaple; $i++) { 

    $count = 0;

    for($j = $i; $j <= $num_peaple; $j++) {

        if ($stdin_array[$i] == $stdin_array[$j]) {

            $count++;

        }

    }
    
    // 多次元配列値追加
    $count_array[] = [$stdin_array[$i], $count];
}


// 抽出
$cols = array_column($count_array, 1); 
// echo print_r($cols);

array_multisort($cols, SORT_DESC, $count_array);
// echo print_r($count_array);

echo $count_array[0][0];

?>