【はじめてのPHP】初心者向けに特徴と使い方をやさしく解説

PHP(Hypertext Preprocessor)は、Web開発の世界で非常に重要な役割を果たすプログラミング言語です。身近なところではWebサイトのお申し込みフォームやWordPressに使われています。
今回は初心者の方々にも理解しやすいように、PHPの特徴や使い方について詳しく解説いたします。
「コードは苦手だな」という人でもわかるように、サンプルにはやさしいコードを使い、解説もつけました。ぜひ最後までお読みください。
PHPとは何か?
PHPは、サーバーサイドのスクリプト言語の一つで、Webサイトの動的なコンテンツを生成するのに広く使用されています。
PHPの特長の1つは、HTMLと組み合わせて利用できる点です。PHPとHTMLは構造が類似していますが、HTML単体では動的なコンテンツを生成することができません。HTMLだけでは記事の更新やコメントの反映など、ブログのような機能を実現することが難しく、Webサイトの機能が制約されてしまいます。
HTMLをPHPと合わせて使うことで、コードを書かなくてもコンテンツが更新できる動的なページができるのです。
PHPの特徴
PHPには以下のような特徴があります。
1. シンプルで学びやすい
PHPは他のプログラミング言語に比べて構文がシンプルで直感的です。初心者にとって学びやすい言語と言えます。例えば、HTML内にPHPコードを埋め込むことは非常に簡単で、短期間で基本を習得できます。
2. サーバーサイド言語
PHPはサーバーサイドで実行されるため、ユーザーがブラウザでアクセスする際にはPHPコードそのものは表示されません。これにより、セキュリティ上のリスクを低減させることができます。
3. データベース連携
PHPはデータベースとの連携が得意です。MySQLやSQLiteなどのデータベースと連携し、動的なコンテンツを生成することができます。これは、Webアプリケーションの開発において非常に役立ちます。
4. クロスプラットフォーム
PHPは主要なオペレーティングシステムと互換性があり、ほぼどのサーバー環境でも利用できます。これにより、プロジェクトの選択肢が広がります。
PHPでできること
PHPでできることは多岐にわたります。例えばお問い合わせフォームには以下のような機能がありますが、これらはすべてPHPによって実装できます。
- フォームに入力した内容を取得する
- チェックボックス、ラジオボタン、ドロップダウンリストの値を取得する
- 都道府県の一覧をドロップダウンに表示する
- 商品の一覧をチェックボックスに表示する
- フォーム内容が空の場合に警告文を表示する
お問い合わせフォーム以外にも、ユーザーがサイトにログインできるシステムや、ブログ記事を投稿したり管理するシステム、ECサイトのショッピングカート機能などが作れます。
PHPだけでできるプログラムには限りがありますが、PHPは多くのデータベースシステム(MySQL、PostgreSQL、SQLiteなど)と連携できます。データベースから情報を取得し、データの追加、更新、削除を行うことが可能です。これはユーザー情報の管理、製品情報の表示、注文処理などに役立ちます。
PHPの基本的な使い方
PHPの基本的な使い方を紹介します。とてもシンプルです。
1. PHPタグ
PHPコードは、開始タグ“ <?php ”と終了タグ“ ?> ”の間にコードを書いて使います。
この開始から終了までのタグはHTMLにそのまま埋め込んで使うことができます。
<?php // ここにPHPコードを記述 ?>
2. 変数
下のコードは「私の名前は $name です。」という文を出力します。
ここで使われている「$name」が変数です。
<?php $name = "John"; echo "私の名前は " . $name . " です。"; ?>
ワンポイント
- PHPでは変数の頭に「$」をつけます。
- 「echo」は出力するという意味です。「print」を使う時もあります。
「John」を直接文に入れるのではなく、変数として入れることで、別の名前に入れ替えが可能です。例えば「$name = “John”」を「$name = “Nancy”」にすれば、出力される文は「私の名前はNancyです。」となります。
下は$name = “John”で実行した結果です。

3. 条件分岐
特定の条件が満たされた場合に異なるコードを実行するのが「条件分岐」です。これは、ユーザーに対してカスタマイズされたコンテンツを提供する場合などに使います。
以下の例では if 構文を使い、$age が18未満なら「未成年です。」、それ以外なら「成人です。」を出力します。変数と組み合わせて、場合分けができるようになりました。
<?php $age = 30; if ($age < 18) { echo "未成年です。"; } else { echo "成人です。"; } ?>
実行した結果は以下のとおりでした。
PHPの実行にはpaiza.ioを使用しています。

4. ループ
同じコードを繰り返し実行できるのが「ループ」です。これは、配列やリスト内のデータを処理する際に役立ちます。
以下は for 構文で、0から4までの数値を繰り返してカウントし、それを画面に表示するコードです。繰り返すから、echoを何度も書かずに済みます。
<?php for ($i = 0; $i < 5; $i++) { echo "カウント: " . $i . "<br>"; } ?>
変数 i は0から始まって5未満、つまり4まで入ります。「$i ++」は1ずつ数字が増えるという意味です。
実行結果は以下のとおり。「カウント:」と「<br>」に挟まれて、0から4の数字が出力されました。

5. 配列
配列は変数に似ていますが、変数と違って一度にたくさんの値を扱うことができます。お申し込みフォームで都道府県が選べるドローダウンメニューなどに使われている機能です。
下のコードでは変数 fruits にりんご、バナナなどの果物名が4つ入っており、これらを foreach 構文で一つずつ順番に出力します。
foreach は「for」がついていることからもわかるとおり、ループの一種です。
<?php $fruits = array("りんご", "バナナ", "オレンジ", "グレープ"); foreach ($fruits as $fruit) { echo $fruit . "<br>"; } ?>
出力結果は以下のとおり。変数が順番に出力されました。

6. 関数
関数とは、特定のタスクや計算を行うためのひとまとまりのプログラムのことです。学校で習う「三角関数」などの関数とは一切関係ありませんので、そことは切り離してください。
サンプルコードを見てみましょう。
「function」を使って、プログラムの名前を「sayHello」にしてあります。変数 name に名前を入れたら、「こんにちは、〇〇さん!」という文が出力されるのが、プログラムの内容です。
<?php function sayHello($name) { echo "こんにちは、" . $name . "さん!"; } sayHello("Alice"); ?>
実行すると以下のようになります。

関数が便利なのは、一度作っておくと次からは関数を呼び出すだけで、同じ命令を繰り返し使用できるところです。
変数で同じことをすると、毎回コードを書かなければなりません。関数にすることで、コードがシンプルになります。
PHP学習に役立つリソースとコミュニティ
PHPは独学が可能です。PHPを学ぶためのリソースとコミュニティについて紹介しましょう。
公式のPHPドキュメント

参考
PHP.netで公式のPHPドキュメントが利用できます。言語の仕様や関数について詳細な情報が提供されているサイトです。
オンラインコース

参考
Web上にはPHPを学ぶための多くのオンラインコースがあります。例えばUdemyやCourseraは、プログラミング学習によく使われているプラットフォームです。
質問する

参考
Qiitaのようなサイトで質問してみてもいいでしょう。このとき注意すべきは、「相手にとってわかりやすく書くこと」です。質問を見てすぐに答えられるのが、いい質問文です。逆にいろいろ質問されてしまうのは、いい質問文ではありません。
相手は貴重な時間を使って質問に答えてくれています。少ないやりとりで済むように工夫しましょう。
ググる
わからないことがあったら、基本的にはググって解決を目指しましょう。自力で解決するのもスキルのうちです。
まとめ
以上、PHPについて用途や基本的な使い方を解説しました。
Web、とくにフロントエンドではHTML&CSSが基本ですが、これだけでは機能面ではまったく対応できません。スクリプト言語と組み合わせて使う必要が必ず出てくるでしょう。PHPは比較的学びやすい言語なので、ご紹介したリソースなどを参考にトライしてみてください。

この記事を書いた人
クーシーブログ編集部
1999年に設立したweb制作会社。「ラクスル」「SUUMO」「スタディサプリ」など様々なサービスの立ち上げを支援。10,000ページ以上の大規模サイトの制作・運用や、年間約600件以上のプロジェクトに従事。クーシーブログ編集部では、数々のプロジェクトを成功に導いたメンバーが、Web制作・Webサービスに関するノウハウやハウツーを発信中。
お問い合わせはこちらから
Web制作デザイン、丸ごとお任せ
お問い合わせする
執筆者:加藤久佳