コンテンツにスキップ

ntorelabo

Front End Developer

  • pickup
  • WordPress
  • PHP
    • PHP技術者認定試験
  • Docker
  • Next.js
  • AWS
  • Laravel
  • site map
  • search

ntorelabo

Front End Developer

  • search
  • pickup
  • WordPress
  • PHP
    • PHP技術者認定試験
  • Docker
  • Next.js
  • AWS
  • Laravel
  • site map

PHPサンプルコード

  • ホームページ
  • PHPサンプルコード
  • 7月, 日, 2023
  • PHP
PHPサンプルコード

Contents [hide]

  • 1 標準入力
  • 2 文字変換
  • 3 複数行入力
  • 4 多重ループ多次元配列

標準入力

<?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];

?>
pickup
最近の投稿
  • WordPressサイトのサブディレクトリ→サブドメイン移行手順 2025年7月6日
  • Laravelでリッチテキストエディタで使いやすい画像アップロード機能を実装(TinyMCE) 2025年6月22日
  • 【PHP】出力バッファリング制御 2025年5月22日
  • basic認証のパスワードを忘れた場合 2025年5月14日
  • PHP 8.0〜から実装で便利な機能(名前付き引数、match) 2025年5月11日
  • さくらインターネットからWHOIS登録メールアドレスの利用廃止のメールが来た 2025年5月9日
  • スムーズにスクロールする処理をjQueryで実装 2025年5月5日
  • Gemini for Google Workspace 活用術 2025年4月24日
  • Google Cloud の始め方 2025年4月20日
  • 【PHP】switch分の書き方、PHP 7.3 から PHP7.4の変更点 2025年4月19日
  • 【PHP】新しい方の指定方法「nullable」 2025年3月25日
  • 「PHPでJSONを扱う」json_encodeとjson_decode完全ガイド 2025年3月23日
  • 【WordPress自作テーマ開発】固定ページを自動作成する方法(下層ページ実装) 2025年3月18日
  • 【PHP】プロトコル / ラッパーについて(file:// php:// http:// https://) 2025年3月17日
  • 【PHP】stdClass を使用して(object) でキャスト 2025年3月16日
  • モダンなPHPコードで使用!無名関数の使い方 2025年3月15日
  • Cursor 便利な機能まとめ、Project Rules 2025年3月15日
  • PHP セッション名の変更方法と php.ini の記述方法まとめ 2025年3月12日
  • 【PHP】関数内でグローバル変数を使用するためには global キーワード 2025年3月10日
  • 【php8上級/準上級試験】模擬問題解説 問題30 strtotime() 2025年3月4日
About Us

Ready To Start Work With Us?

Felis consequat magnis est fames sagittis ultrices placerat sodales porttitor quisque.

Get a Quote
recent posts
  • WordPressサイトのサブディレクトリ→サブドメイン移行手順
  • Laravelでリッチテキストエディタで使いやすい画像アップロード機能を実装(TinyMCE)
  • 【PHP】出力バッファリング制御
  • basic認証のパスワードを忘れた場合
  • PHP 8.0〜から実装で便利な機能(名前付き引数、match)
  • さくらインターネットからWHOIS登録メールアドレスの利用廃止のメールが来た
  • スムーズにスクロールする処理をjQueryで実装
  • Gemini for Google Workspace 活用術
Opening Hours
Week Days 10:00 - 17:00
Saturday 10:00 - 15:00
Sunday Day Off
Contact us
popular posts
  • WordPressで画像を拡大表示するなら「Firelight Lightbox」(旧名:Easy Fancybox) 1.1k件のビュー
  • 【WordPress】カスタムフィールド作成の仕方「ACF」Advanced Custom Fieldsの使用法 735件のビュー
  • 【チートシート】Linuc Lv1-102 実務での使用例も解説 591件のビュー
  • My-Snow-Monkey使用例、子テーマによるカスタマイズ 511件のビュー
  • 【WordPressエラー】「Warning: Undefined variable $post in …」「Warning: Attempt to read property “ID” on null in …」 447件のビュー
  • Twitter、Facebookのタイムラインを埋め込む 414件のビュー
  • 【Next.js】ライブラリ使わないでカルーセルスライダー 296件のビュー
  • AWS認定ソリューションアーキテクト-アソシエイトレベル 248件のビュー
  • ローカル、グローバルIPアドレスの違いと確認手順 229件のビュー
  • WordPress自作、カスタマイズ 228件のビュー
Search
Copyright © 2025 ntorelabo | Powered by Desert Themes