ジャーニー
PHPを学ぶ
無料で使えるインタラクティブなオンラインPHP講座。レッスンごとに自分でPHPを書きながら、構文、関数、配列、フォーム、セッション、動的なWebサイトを作る基礎までを学びます。つまずいたときはAIヒントが助けてくれて、修了すれば無料の修了証明書がもらえます。
28,877+ 人のcoddersが登録中
- 初心者向け
AIによるコーディングサポート
実践的なインタラクティブレッスン
全レッスンに音声ナレーション付き
知識を確かめるクイズ
無料の修了証明書
シラバス
セクション 1
基礎
セクションを始める開始開く閉じる必須の概念と基本スキルで強固な基礎を築きましょうIntroduction to PHP
5 レッスン331- 01The PHP Languageチャレンジ
- 02Hello World!チャレンジクイズ
- 03Tags and Statementsクイズ
- 04Commentsクイズ
- 05The new lineチャレンジクイズ
Variables and Data Types
9 レッスン663- 01Numbersチャレンジクイズ
- 02Strings and Quotesチャレンジクイズ
- 03Booleansクイズ
- 04Naming Conventionsクイズ
- 05Recap - Variable Initチャレンジ
- 06Empty Variablesクイズ
- 07String Concatenationチャレンジクイズ
- 08Getting User Inputチャレンジクイズ
- 09Cast to Different Typesチャレンジクイズ
Basic Operators
8 レッスン852- 01Arithmetic Operatorsチャレンジクイズ
- 02Modulo Operatorチャレンジクイズ
- 03Exponentiation Operatorチャレンジクイズ
- 04Combined Assignmentチャレンジクイズ
- 05Increment/Decrementチャレンジクイズ
- 06Operator Precedenceチャレンジクイズ
- 07Recap - Simple Calculationsチャレンジ
- 08String Operatorsチャレンジクイズ
Comparison & Logical Operators
5 レッスン532- 01Comparison Operatorsチャレンジクイズ
- 02Equality & Identityチャレンジクイズ
- 03Logical Operators Part 1チャレンジクイズ
- 04Logical Operators Part 2チャレンジクイズ
- 05Recap - Simple Logicチャレンジ
Conditional Logic
6 レッスン639- 01If Statementチャレンジクイズ
- 02If - Elseチャレンジクイズ
- 03The Ternary Operatorチャレンジクイズ
- 04Null Coalescing Operatorチャレンジクイズ
- 05Switch Statementチャレンジクイズ
- 06Recap - Making Decisionsチャレンジ
Arrays Part 1 - Indexed
7 レッスン645- 01Introduction to Arraysクイズ
- 02Creating Indexed Arraysチャレンジクイズ
- 03Accessing Elements by Indexチャレンジクイズ
- 04Modifying Elements by Indexチャレンジクイズ
- 05Array Size with Countチャレンジクイズ
- 06Adding Elements to an Arrayチャレンジクイズ
- 07Recap - Managing a Simple Listチャレンジ
Arrays Part 2 - Associative
6 レッスン540- 01Intro to Associative Arraysクイズ
- 02Accessing Values by Keyチャレンジクイズ
- 03Modifying Values by Keyチャレンジクイズ
- 04Adding New Key-Value Pairsチャレンジクイズ
- 05Check if Key Existsチャレンジクイズ
- 06Recap - Key-Value Data Storeチャレンジ
ループ
7 レッスン746- 01for ループチャレンジクイズ
- 02while ループチャレンジクイズ
- 03foreach ループチャレンジクイズ
- 04キーと値を使ったループチャレンジクイズ
- 05break 文チャレンジクイズ
- 06continue 文チャレンジクイズ
- 07復習 - データの反復処理チャレンジ
プロジェクト: シンプルなTo-Doリスト
プロジェクト7 レッスン1- 01プロジェクト概要とデータチャレンジ
- 02新しいタスクの追加プロジェクト
- 03すべてのタスクの表示プロジェクト
- 04タスクを完了としてマークプロジェクト
- 05タスクの削除プロジェクト
- 06完了状態によるフィルタリングプロジェクト
- 07空のリスト状態の処理プロジェクト
Functions
8 レッスン857- 01Declaring & Calling Functionsチャレンジクイズ
- 02Function Parametersチャレンジクイズ
- 03Returning Valuesチャレンジクイズ
- 04Default Parameter Valuesチャレンジクイズ
- 05Type Declarations for Paramsチャレンジクイズ
- 06Return Type Declarationsチャレンジクイズ
- 07Variable Scopeチャレンジクイズ
- 08Recap - Creating Reusable Codeチャレンジ
Final Challenges
3 レッスン3- 01Challenge - Factorial Calcチャレンジ
- 02Challenge - Longest Wordチャレンジ
- 03Challenge - Vowel Counterチャレンジ
セクション 2
論理とフロー
セクションを始める開始開く閉じる問題解決スキルを養い、動的でインタラクティブなプログラムを作成しましょう高度な関数
9 レッスン965- 01無名関数チャレンジクイズ音声
- 02クロージャと 'use'チャレンジクイズ音声
- 03アロー関数チャレンジクイズ音声
- 04コールバック関数チャレンジクイズ音声
- 05'call_user_func' の使用チャレンジクイズ音声
- 06可変関数チャレンジクイズ
- 07参照渡しチャレンジクイズ
- 08再帰関数チャレンジクイズ
- 09まとめ:関数のメドレーチャレンジ
配列操作の応用
10 レッスン1066- 01'array_push' による追加チャレンジクイズ
- 02'array_pop' による削除チャレンジクイズ
- 03'array_unshift' による追加チャレンジクイズ
- 04'array_shift' による削除チャレンジクイズ
- 05インデックス配列の結合チャレンジクイズ
- 06連想配列の結合チャレンジクイズ
- 07'array_slice' による抽出チャレンジクイズ
- 08'in_array' による値の検索チャレンジクイズ
- 09'array_search' によるキーの検索チャレンジクイズ
- 10まとめ:プレイリストの演習チャレンジ
配列のソート
7 レッスン747- 01インデックス配列の昇順ソートチャレンジクイズ
- 02インデックス配列の降順ソートチャレンジクイズ
- 03連想配列を値でソートチャレンジクイズ
- 04連想配列をキーでソートチャレンジクイズ
- 05自然順序ソートチャレンジクイズ
- 06'usort' によるカスタムソートチャレンジクイズ
- 07まとめ:リーダーボードのソートチャレンジ
多次元配列
6 レッスン639- 012次元配列の作成チャレンジクイズ
- 022次元配列の要素へのアクセスチャレンジクイズ
- 032次元配列の要素の変更チャレンジクイズ
- 04二重ループによる反復処理チャレンジクイズ
- 052次元連想配列チャレンジクイズ
- 06まとめ:シンプルなグリッドのエクササイズチャレンジ
学生の成績管理
6 レッスン6- 01プロジェクトのセットアップ:データ構造チャレンジ
- 02新しい学生の追加チャレンジ
- 03学生への成績追加チャレンジ
- 04学生の平均点の計算チャレンジ
- 05成績最優秀者の特定チャレンジ
- 06成績表の生成チャレンジ
配列の高階関数
7 レッスン745- 01'array_map' による変換チャレンジクイズ
- 02'array_map' とカスタム関数チャレンジクイズ
- 03'array_filter' によるフィルタリングチャレンジクイズ
- 04'array_filter' とカスタム関数チャレンジクイズ
- 05'array_reduce' による畳み込みチャレンジクイズ
- 06'array_walk' による反復処理チャレンジクイズ
- 07まとめ:データ処理チャレンジ
日付と時刻の操作
6 レッスン539- 01'date()' 関数クイズ
- 02'time()' による Unix タイムスタンプチャレンジクイズ
- 03DateTime オブジェクト入門チャレンジクイズ
- 04DateTime オブジェクトのフォーマットチャレンジクイズ
- 05DateTime オブジェクトの変更チャレンジクイズ
- 06まとめ:日付の計算チャレンジ
エラーと例外処理
7 レッスン650- 01PHPエラーの理解クイズ
- 02'try...catch' ブロックチャレンジクイズ
- 03'finally' ブロックチャレンジクイズ
- 04例外のスローチャレンジクイズ
- 05カスタム例外の作成チャレンジクイズ
- 06カスタム例外の使用チャレンジクイズ
- 07まとめ:入力バリデーションチャレンジ
イベントスケジューラ
プロジェクト6 レッスン1- 01イベントデータチャレンジ
- 02新しいイベントの追加プロジェクト
- 03今後のイベント一覧プロジェクト
- 04日付によるイベントのソートプロジェクト
- 05月によるイベントのフィルタリングプロジェクト
- 06カウントダウンの表示プロジェクト
最終チャレンジ
4 レッスン4- 01チャレンジ:回文チェッカーチャレンジ
- 02チャレンジ:文字の出現頻度チャレンジ
- 03チャレンジ:ショッピングカートの合計金額チャレンジ
- 04チャレンジ:ユニークアイテムのフィルターチャレンジ
セクション 3
オブジェクト指向プログラミング
セクションを始める開始開く閉じるクラス、オブジェクト、再利用可能な構造を使ってコードを整理する方法を学びましょうOOPの基礎
9 レッスン969- 01外部ファイルチャレンジクイズ
- 02OOP入門チャレンジクイズ
- 03クラスとオブジェクトチャレンジクイズ
- 04$thisキーワードチャレンジクイズ
- 05メソッドチャレンジクイズ
- 06プロパティチャレンジクイズ
- 07コンストラクタ (__construct)チャレンジクイズ
- 08デストラクタ (__destruct)チャレンジクイズ
- 09復習 - 簡易計算機チャレンジ
名前空間とオートロード
5 レッスン534- 01名前空間の基本チャレンジクイズ
- 02use キーワードチャレンジクイズ
- 03PSR-4 オートロード規格チャレンジクイズ
- 04Composer オートローダーチャレンジクイズ
- 05まとめ:整理されたプロジェクトチャレンジ
クラスのプロパティ
6 レッスン644- 01インスタンスプロパティと静的プロパティチャレンジクイズ
- 02クラス定数チャレンジクイズ
- 03静的メソッドとプロパティチャレンジクイズ
- 04Private と Protected プロパティチャレンジクイズ
- 05Readonly プロパティ (PHP 8.1)チャレンジクイズ
- 06まとめ:銀行口座マネージャーチャレンジ
継承
6 レッスン644- 01継承の基本チャレンジクイズ
- 02parent:: キーワードチャレンジクイズ
- 03メソッドのオーバーライドチャレンジクイズ
- 04final キーワードチャレンジクイズ
- 05抽象クラスチャレンジクイズ
- 06まとめ - 従業員の階層構造チャレンジ
インターフェースと契約
6 レッスン645- 01インターフェース入門チャレンジクイズ
- 02インターフェースの実装チャレンジクイズ
- 03複数インターフェースの実装チャレンジクイズ
- 04インターフェース vs 抽象クラスチャレンジクイズ
- 05インターフェースによる型ヒントチャレンジクイズ
- 06まとめ:図形計算機チャレンジ
ポリモーフィズム
5 レッスン536- 01メソッドオーバーライドの再確認チャレンジクイズ
- 02インターフェースによるポリモーフィズムチャレンジクイズ
- 03型ヒンティングと Union Typesチャレンジクイズ
- 04遅延静的束縛チャレンジクイズ
- 05まとめ:決済プロセッサーチャレンジ
カプセル化
6 レッスン645- 01Public, Protected, Privateチャレンジクイズ
- 02アクセス修飾子の詳細チャレンジクイズ
- 03Getter と Setterチャレンジクイズ
- 04情報隠蔽チャレンジクイズ
- 05Constructor Promotion (8.0)チャレンジクイズ
- 06復習:学生記録システムチャレンジ
マジックメソッド
7 レッスン753- 01マジックメソッド入門チャレンジクイズ
- 02__toString & __debugInfoチャレンジクイズ
- 03__get, __set, __isset, __unsetチャレンジクイズ
- 04__call & __callStaticチャレンジクイズ
- 05__clone とオブジェクトのクローンチャレンジクイズ
- 06__serialize & __unserializeチャレンジクイズ
- 07まとめ - カスタムコレクションチャレンジ
トレイト
5 レッスン544- 01トレイト入門チャレンジクイズ
- 02複数のトレイトの利用チャレンジクイズ
- 03トレイトの衝突解決チャレンジクイズ
- 04トレイト内の抽象メソッドチャレンジクイズ
- 05トレイト vs 継承チャレンジクイズ
オブジェクト指向の高度な概念
7 レッスン761- 01コンポジション vs 継承チャレンジクイズ
- 02依存性の注入 (Dependency Injection)チャレンジクイズ
- 03匿名クラスチャレンジクイズ
- 04Enum (PHP 8.1)チャレンジクイズ
- 05ファイバー (PHP 8.1)チャレンジクイズ
- 06オブジェクトのクローン徹底解説チャレンジクイズ
- 07ジェネレータとイテレータチャレンジクイズ
型システムとエラーハンドリング
7 レッスン754- 01型宣言チャレンジクイズ
- 02Null許容型チャレンジクイズ
- 03Union型とIntersection型チャレンジクイズ
- 04例外クラスチャレンジクイズ
- 05カスタム例外の階層構造チャレンジクイズ
- 06Try, Catch, Finallyチャレンジクイズ
- 07復習 - フォームバリデーターチャレンジ
デザインパターン パート1
5 レッスン546- 01デザインパターン入門チャレンジクイズ
- 02Singletonパターンチャレンジクイズ
- 03Factoryパターンチャレンジクイズ
- 04Observerパターンチャレンジクイズ
- 05Strategyパターンチャレンジクイズ
デザインパターン パート2
7 レッスン764- 01コマンドパターンチャレンジクイズ
- 02アダプターパターンチャレンジクイズ
- 03デコレーターパターンチャレンジクイズ
- 04テンプレートメソッドパターンチャレンジクイズ
- 05ステートパターンチャレンジクイズ
- 06コンポジットパターンチャレンジクイズ
- 07リポジトリパターンチャレンジクイズ
プロジェクト:図書管理
プロジェクト6 レッスン1- 01プロジェクトの概要チャレンジ
- 02BookクラスとUserクラスプロジェクト
- 03貸出システムプロジェクト
- 04検索機能プロジェクト
- 05管理者インターフェースプロジェクト
- 06テストと統合プロジェクト
最終課題
4 レッスン4- 01Eラーニングプラットフォームチャレンジ
- 02銀行システムチャレンジ
- 03ゲームキャラクター開発チャレンジ
- 04車両レンタルサービスチャレンジ
CoddyでPHPを学ぶ理由
- 本物のPHPコードをブラウザで実行できます。XAMPPもApacheも、ローカルサーバーの設定も要りません。各レッスンでPHPがサーバーサイドで動き、結果がすぐに表示されます。
- 今のWeb開発で実際に使われている形でPHPを学びます。変数、制御フロー、関数、配列、include、フォーム、スーパーグローバル、セッション、そして基本的なデータベース処理。Web開発者に必須のPHPの土台です。
- AIヒントが答えを丸ごと教えずにPHPのエラーや警告の解消をサポートしてくれるので、undefined indexやクォートまわりのバグといったよくあるつまずきも、行き詰まりではなく学びのきっかけになります。
- 講座を修了すると、PHPの無料修了証明書がもらえます。PHPが今も基本スキルとされるWeb開発、WordPress、Laravel関連の職種で、確かなアピール材料になります。
PHP学習についてのよくある質問
PHPは初心者でも学びやすいですか?
PHPは始めやすい言語のひとつです。構文がゆるやかで、HTMLに直接埋め込めて、ブラウザですぐに結果を確認できます。多くの初心者は最初の1時間以内に動くPHPページを作れるようになります。難しめのトピック(セキュリティ、セッション、データベース連携)は後の段階で少しずつ扱っていきます。
2026年でもPHPを学ぶ価値はある?
はい。PHPは今もウェブの大部分を支えています。WordPressだけで全サイトの約40%を動かしていますし、LaravelやSymfonyといったフレームワークも健在で活発です。WordPress開発、制作会社系のウェブ案件、MySQLとやり取りするバックエンドなら、PHPは今でも実用的なスキルです。
PHPの習得にはどれくらいかかりますか?
PHPの基礎——変数、条件分岐、ループ、関数、配列——なら、毎日続ければ1〜2週間で身につきます。フォーム、セッション、データベースクエリを使った小さな動的サイトを作るには、さらに1〜3か月ほどかかるのが一般的です。LaravelやWordPress開発まで踏み込むのは、また別のステップです。
PHPとHTMLの違いは?
HTMLはWebページの構造を記述するマークアップ言語です。一方PHPはサーバー上で動くプログラミング言語で、ブラウザに届く前にHTMLを生成します。動的なページを作ったり、ユーザーをログインさせたり、フォームのデータを保存したりできるのはこの仕組みのおかげです。レイアウトはHTML、ロジックはPHPという形で、両者は組み合わせて使います。
PHPをオンラインで無料で学べますか?
はい。インタラクティブなPHPコースは無料で、レッスン、コーディング演習、クイズ、修了証まですべて含まれています。PHPはサンドボックス環境のサーバーサイドで動くので、Apache、MySQL、XAMPPをローカルにインストールしなくてもすぐにコードを書き始められます。
コース修了後にPHPの修了証はもらえますか?
はい。PHPコースを修了すると、無料の修了証がもらえます。履歴書に載せたり、LinkedInでシェアしたりできるので、WordPressサイトやLaravelアプリ、これまで作ったポートフォリオのWeb案件と並べて示すのに役立ちます。