【入門編ソースコード有】PHPとは?初心者向けプログラミング言語のPHPでできることも徹底解説
「PHPに触れたことがない初心者」の方でも理解できるように、実際にPHPを少し動かしてみるまでをご紹介していきたいと思います。簡単な入門用のサンプルコードも併せてご紹介しますので、ぜひご確認ください。
「PHPに触れたことがない初心者」の方でも理解できるように、実際にPHPを少し動かしてみるまでをご紹介していきたいと思います。簡単な入門用のサンプルコードも併せてご紹介しますので、ぜひご確認ください。
スキルアップ
2023/02/27 UP
- プログラミング
- SE資格・スキル
- できること
- 入門
- PHP
「PHPは初心者向けの言語におすすめと聞いたけど、どんな言語でなにができるのかよくわからない……」
プログラミング言語はたくさんありますが、それぞれどのようなことができるのか、特に初心者の方にはわかりづらいかもしれません。そこで今回は「PHPに触れたことがない初心者」の方でも理解できるように、
「PHPとはどんな言語?」
「PHPでできることってなに?」
という疑問に答えつつ、実際にPHPを少し動かしてみるまでをご紹介していきたいと思います。簡単な入門用のサンプルコードも併せてご紹介しますので、ぜひご確認ください。
PHPとは?初心者にもおすすめできるプログラミング言語!
PHPは1996年に誕生したプログラミング言語です。サーバサイドで動く言語で、さまざまなWEBサービスやWEBアプリに採用され、世界的に高いシェア率を誇ります。
下記画像のとおり、世界のWEBサイトの80%近くでPHPは利用されています。
引用:Q-Success「W3 Techs」
PHPがここまで高い人気を誇っている背景にはいくつかの理由あります。まずは、PHPが特に初心者にも人気の理由について見ていきます。
CやC++と違い一括コンパイルが不要で、すぐに動作を確認できる
CやC++などのプログラミング言語は、コーディングを行った後一括コンパイルが必要ですが、PHPの場合、一括コンパイルせず、実行時に一行ずつコンパイルするため、コーディングしてすぐ動作の確認が可能です(こうした言語を、インタプリタ言語といいます)。
初心者の場合、初歩的な記述ミスでエラーになることも多いため、すぐに動作が確認できるPHPは、初めてのプログラミングに向いています。
構文がわかりやすくシンプル
PHPの構文は比較的簡単で、シンプルに記述ができます。たとえば以下のように記述することで、HTML上に文字列を出力することが可能ですが、プログラミング言語によっては型名を書く必要があるなど、制約が多く、行数が増えてしまうこともあります。
その点PHPは、自動で型の調整などを行ってくれるため、シンプルに記述することが可能です。シンプルに記述できるということは、覚えることが少なく、またバグがわかりやすいということでもあります。こうした点は特に初心者のうちは、ありがたいポイントになります。
※型の自動判定にはデメリットもありますが、初心者の場合、あまり気にしなくてよいと思います。
HTMLに直接組み込める
プログラミング言語を書いたことがなくても、HTMLは書いたことがあるという方は多いかもしれません。PHPは、こうした人が最初に学ぶ言語としてもおすすめです。
PHPは、HTML内に直接書き込むことができます。たとえば
<html><div> <?php print("Hello World");?> </div></html>
という形でHTML内にPHPコードを埋め込み、このテキストを test.php という形のPHPファイルでサーバ上に保存するだけで、PHPを実行することができます。
そのため、HTMLがある程度わかっている人の場合、HTMLを触る感覚でPHPを体験することができるため、習得が早いでしょう。
多くのレンタルサーバに最初からインストールされている
PHPが、初心者におすすめできる理由のひとつに、環境構築が簡単という点も挙げられます。PHPは、2020年現在でも多くのレンタルサーバに最初からインストールされており、レンタルサーバを借りた瞬間から実行が可能です。
プログラミングを勉強する際、環境構築で挫折してしまう方も多いため、サーバを借りた後に環境構築がほぼ不要なことは、PHPが初心者におすすめできる大きなポイントのひとつになります。
インターネットに大量の情報がある
PHPは、昔からある言語でかつ、シェアが高い状態を維持していたため、たくさん情報がインターネット上にアップされています。こうした情報は、サンプルのソースコードや関数の記述方法などにとどまらず、エラーが出た際の対処法や効率のよい書き方など実践的な情報も多く含まれます。
初心者が、プログラミングを勉強していてつまずくようなポイントは、そのほとんどを検索するだけで解決できるでしょう。
このような理由からPHPは、WEBでなにかを作ろうと思い立ち最初に学ぶ際、高い人気があり、特に初心者におすすめの言語になっています。
PHPでできること
では、PHPではなにができるのでしょうか。PHPはWEBに限定すればかなり汎用的に使うことが可能です。ここからはPHPでできることをご紹介します。
PHPで作ることができるサイトやシステム
ブログ&掲示板サイト
SNSサイト
ECサイト
社内管理システム
予約システム
グループウェアシステム
お問い合わせフォーム
このように、WEB上の多くのサイトがPHPで開発可能です。こうした多くのシステムには、HTMLを使用したユーザ画面と、データベースからデータを取得して加工する部分の二つの機能があり、どちらもPHPの得意とするところになります。
PHPでできているサービス
WordPress
Xoops Cube
EC-Cube
Drupal
世界のWEBサイトの35%はWordPressでできているともいわれていますが、そんなWordPressもPHPでできています。またそれ以外に有名どころのECサイトやポータルシステムなどもあり、PHPは幅広いサービスで使われていることがわかります。
【入門編】PHPを試して見よう!
では早速PHPを試してみましょう。PHPは上で触れたとおり簡単に環境構築をすることができますが、今回はさらに簡単に、オンラインでPHPを実行するサービスを使用して、実際にPHPを実行しながら確認してみたいと思います。
まずは定番 Hello World
まずは定番の Hello World を実行してみましょう。
【ソースコード】
<?php print("Hello World"); ?>
無事、「Hello World」と表示されれば成功です。
【今回のコードの解説】
まずPHPは で終わります(一般的に ?> は省略する傾向にありますが、PhpFiddleの仕様上の問題もあり、一旦ここでは割愛いたします)。
「print」は、引数を出力する関数です。今回は "Hello World" という文字(ダブルクォーテーションで囲われた部分はプログラムではなく、そのままの文字として扱います)を引数として print 関数に渡していますので、Hello Worldと出力されることになります。
なお、末尾の ;(セミコロン)は、PHPプログラムの行の終わりを意味します。
【入門編】PHPで条件分岐(if文)とループ(while文)をしてみよう
無事 Hello World は表示されましたでしょうか。この次は、もう少しプログラムになったものを実行していきたいと思います。
ここでは if文(条件分岐)と while文(ループ)を紹介します。
PHPで条件分岐(if文)
まずは条件分岐の処理である if文をPHPで実行してみましょう。
【ソースコード】
<?php $num = 1; if ($num === 1) { print("これは1です"); } else if ($num === 2) { print("これは2です"); } else { print("これは1でも2でもありません"); } ?>
無事「これは1です」と表示されれば成功です。
【今回のコードの解説】
$num = 1 という表記は、$numという変数に数字の1を代入するという意味です。そして if ( $num === 1) { } で、$numの中身が1であるかを判定しています(===は変数の型も含めて比較する演算子ですが、詳細は割愛します)。なお、$num が1の場合、後続の print の行に飛びます。ここでは先ほどの例と同様に、print関数の中にある “これは1です”を出力します。
$numが1の場合の処理を終えましたので、ここでif文は終了します。
もし、$num が1じゃない場合、次のif処理 else if ($num === 2)に飛びます。こちらでは$numが2であるかを確認しています。最後に、1でも2でもない場合、 } else { に飛び、この中の処理を実行して終わります。
今回の場合、 $num = 1; と最初に1を代入していますので、 if ($num === 1) { } が処理されますが、最初の $num = 1; を $num = 2; に変更すると、今度は”これは2です”と表示されるはずです。
PHPでループ(while文)
次に、ループ処理である while文を実行してみましょう。
【ソースコード】
<?php $num = 0; while ($num < 10) { print(++$num); } ?>
無事、12345678910 と表示されれば成功です。
【今回のコードの解説】
今回は、ループ処理を行いました。$numに0を代入し、これを $num が10未満の間、{ } の中の処理を繰り返すというものです。while($num
++$num は$numに1を足して返すインクリメント処理です。 今回はprint関数でインクリメント処理された$num(つまり、最初の処理では 0 + 1 = 1 ということで、1)を出力しています。
print関数が終わると 、ループ処理の最後 } まで到着するので、また while ($num
今回は$numを0からスタートさせましたが、たとえば5からスタートすると、 5-10の出力処理となりますし、 $num
(たとえば ++ をとると、 $numがずっと変更されなくなるため、無限ループとなります)
ここまで、PHPのサンプルを実行してきましたが、うまく動作しましたでしょうか。PHPが、初心者にとっておすすめな理由のひとつに簡単にすぐ動作を確認できるというものがありました。
PHPに興味が湧いた方はぜひ、サンプルソースコードをカスタマイズしてみてください。数字を変えてみる、++をとってみる、 else if を追加してみる、while文の中にif文を入れてみるなど、いろいろなカスタマイズをすることで、PHPをもっと理解することができるようになります。
PHP初心者から始める学習方法
このように、PHPはこれからプログラミング言語を学習したい初心者にとっておすすめの言語のひとつです。しかし、独学でマスターするためには、相当の努力が必要になります。ここでは、PHPのおすすめの勉強方法をご紹介します。
オンライン学習サイトの活用
学習方法としては、書籍やプログラミングスクールやオンライン学習サイトなどがありますが、まずはオンライン学習サイトがおすすめです。
ある程度であれば、無料でできるものも多く、ソースコードを組み上げていく過程を動画で見ることができるサイトも多くあります。
特に初心者の場合、ソースコード自体はあっていても、設定を間違えていて動いていないという場合もあるため、実行するまでに過程を動画で見ることができるサイトはおすすめです。
スクールに通う
PHPは多くのサイトで利用されているということもあり、スクールで取り扱っているところも多くあります。そのため、独学ではなく先生の指導の元で学習したいという場合、スクールも選択肢となります。こちらの場合、独学の場合と違って同じ環境の仲間がいるため、モチベーションが維持しやすい、わからないことが先生に聞けてすぐ解決する、などのメリットがあります。
初心者にもおすすめのPHPでプログラミングを始めてみよう!
今回は、PHPについて、概要やどのようなことができるのか、そしてサンプルコードの実行まで紹介してきました。
PHPはプログラミング初心者にとって非常に扱いやすく、学びやすい言語です。また特にWEBでは多くの場面で使われており、PHPを使った仕事も豊富にあります。
実は、筆者も最初の言語はPHPでした。当時は仲間内で使用していたXoopsのカスタマイズを行いながら、少しずつPHPを覚えていったと記憶しています。もしこれから勉強を始めようと思っていた方は、ぜひ挑戦してみてください。本稿がそのきっかけとなれば幸いです。
【監修者】
山崎好史
【プロフィール】
サクラサクマーケティング株式会社 現CTO。主にインフラ、サーバサイドのエンジニアとして、1000台以上のサーバの管理、SEOツールやWEBサイトの設計・構築などを行いながら、SEOコンサルタントのサポートやASOコンサルタントとしても活躍中。
コンテンツマーケティング部の部長も兼務しており、案件のディレクション、記事の校正・校閲などにも対応している。個人では、50万DL以上されたアプリ開発や有名SEOツールの開発なども行っている。