広告 プログラミング

【PHP】PHPの基本的な文法とプログラムの実行方法1

2023年3月5日

悩んでいる人

PHPってサイトを作るときに重要な要素だと聞きました。実際どういったものなのでしょうか?

プログラミングに興味を持っても、

「何から始めていいのかわらん!」

という人のために簡単な実行環境の作り方と文法を紹介します。

※実行環境は言語によって異なります

特に今回はPHPを中心に紹介します。

プログラミング言語一つを勉強するだけでも

  • 論理的な思考力が身についたり
  • ネットワーク関連の知識が理解しやすくなったり
  • 別の言語も構成が似ているので紐づけて理解が深まったり

メリットは意外と沢山あります

たかいち

僕のブログ運営もプログラミング学習がルーツですよ

記事で得られること

  • PHPを始めるまでの手順
  • PHPの基本的なプログラミングの方法

実績と信頼性

基礎を理解したあと、自分なりに工夫して作っていると

あなたが普段使っているサービスも実は「勉強した○○言語で作られている」という事はよくあります。

そういった部分も含めて楽しめると思いますので、

この記事が興味を持つきっかけになればと思います。

PHPの基本文法の概要

PHPの簡単な概要について、

実行までの仕組み > 書き方のルール > 注意点

の順に話します。

PHPが実行されるまで

  1. ソースプログラムの作成
  2. サーバにプログラムファイルを配置
  3. ファイルを読み込み実行

ソースプログラムの作成について、

プログラムの作成はエディタ(VSCodeなどが有名)やメモ帳(Windowsの標準アプリ)なんでもOKですが、

専用のエディタがあると便利です。

僕はサイト制作の練習を始めた時から VS Code を使っています。

別のエディタを使い始めた時期もありましたが、サービスのサポートが終了したりと、色々あって戻ってきました。

結局これが一番使いやすかったですね。


作成するファイルの拡張子ですが、

拡張子はファイル名の最後に「.php」をつける

というルールです。このファイルをOSが読むと、

Windows OS「あ、コレPHPファイルなんだね」

みたいに認識してくれます。

イメージ

PHPの書き方

作成したファイルをサーバに配置することで実行が出来るのですが、

※サーバーの話は2章以降から始めます。

その前に基本ですね。

ファイルの中のプログラムの書き方にはルールがあって、

PHPを書くときは、

<?php
ここに任意のプログラムを書き込みます。
?>

で囲った部分に記述します。

※開始タグと終了タグの領域外に記述されたものは認識されずに実行されません。

ちなみに、開始タグ終了タグには他にも次の種類が存在します。

タグ名開始タグ終了タグ
Standard<?php?>
Short<??>
ASP<%%>
Script<script language="php"></script>
タグの種類

一般的に使用するものはStandardタグになります。

PHP記述の注意点

記述の際のポイントが存在します。

意識していないとエラーが発生します。

  • 文末には必ず「;」セミコロンをつける
  • 大文字小文字の区別はなされる
  • 自由書式

これらのルールを守って実際に記述したものが下記になります。

データや文字列を表示する方法

echo 整数値;
print "文字列";

このように記述するとで数字や文字を表示することが出来ます。

文字列を表示するときは「””」でもOKですが「’’」(シングルクォーテーション)でもOKです。

echo文の特徴

使用方法は他にもいろいろあり少し記述の際の特徴があったりします。

連結演算子「.」を使用して文字列や数字を連結するすることが出来たり、

「,」カンマで区切って複数の文字列をつなげることが出来ます。

echo 整数値;
echo "文字列";
echo "今年は".2023."年です。";
echo "僕は","読書が","好きです";

print文の特徴

print文も記述の際に特徴があります。echoとは少し違うので注意を。

唯一違うのはecho文でできたはずの「,」カンマで区切って複数の文字列をつなげるといったことが出来ません。

print 整数値;
print "文字列";
print "今年は".2023."年です。";

PHPのエスケープ文字って何?

プログラミングを行っている際にエディタ上で文字として認識されない記号などは少し特殊な記述をしなければ文字列として出力されません。

下記が良く使うものです。他にもありますが一例として紹介

エスケープ文字どのように表示される?
¥n改行
¥t水平タブ
¥¥「¥」を表示
¥$「¥」を表示
¥’「’」を表示
¥”「”」を表示
エスケープ文字
echo "僕は¥n読書が好きだ"

上記の実行結果は。

「僕は
読書が好きだ」

このような感じになります。

たかいち

この辺りは言語の基礎を構成するので機械的に覚えるしかないですね。

環境構築|PHPを実際に使ってコードを実行する

PHPを実際に使用してコードを走らせるにはサーバーが必要だ。

と言いましたが。

悩んでいる人

そんな簡単にサーバーなんか用意できないよ…

このような意見が当然飛んできます。個人サーバーを契約するにも多少の費用がかかりますしね。

そこで疑似的にサーバーを作って、

PCに仮想サーバーを作りだす方法を紹介します。PHP開発のときにも使われる手法で、XAMPP(ザンプ)と呼ばれるソフトをインストールするだけでOKです。

PHPの実行にはXAMPPが必要

PHPはサーバーサイドの言語になるためPC単体では動かすことが出来ません。

そのため、

お持ちのPCに専用のソフトを使って仮想サーバーを構築します。

早速ですがXAMPPをインストールしてみましょう。

>>XAMPP公式サイト


XAMPPがインストール出来たら。

右クリックで「管理者として実行」を選択する。

起動後、

Apacheモジュールを「Start」をクリックして開始します。

たかいち

これだけです。サーバーが構築できました。

PID(s)とPort(s)の部分に数字が表示されたら起動OKです。

XAMPP Control Panel 「Apache」を起動時

PHPを実際に実行してみる

たった今作られたサーバーにアクセスしてみましょう。

「Explorer」をクリックします。

Xamppのフォルダが開くので、その中から「htdocs」というフォルダを見つけ出してください。

そこに「___.php」ファイルを作成します。

フォルダのディレクトリ構造は下記のを参考にしてください。

xamppのフォルダディレクトリ構造

XAMPPを利用しています。先頭のフォルダを「xampp」としています。


上の図を例に解説を進めますね。

ファイル名を「sample.php」とした場合を例に解説します。

「htdocs」の中に任意のフォルダを作成し(ここでは”89”フォルダ)

そこに「sample.php」というPHPファイルを作成してみましょう。

フォルダ内で右クリックをして 新規作成 → テキストドキュメント で作れます。

で、

この作成したファイルに仮想サーバーを介してアクセスします

サーバーというからにはブラウザを使うのですが、

このファイルの場所をURLに変換して指定してあげます。

今回は

http://localhost/89/sample.php

先頭に「http://localhost/」をつければいいですよ。

たかいち

当然ですが、このファイルは別のPCやスマホからはアクセスできません

何も記述していないファイルが実行されているので真っ白の表記になりますが、実際に実行されている状態です。

実行方法は

  • メモ帳:保存後ブラウザを再読み込みします。
  • エディタ:保存後、エディタの実行ボタンクリックしブラウザ再読み込み

といった感じですね。

PHPの基本文法1

基本的な使い方です。

変数や定数、データ型など重要な記述方法です。

PHPのコメントについて

プログラムを分かりやすくする。他の人がプログラムを読んだときに分かりやすするためにコメントを入れます。

入れる為のルールは下記です。

【単一行コメント】
//コメント
//コメント
【複数行コメント】
/*
コメント
コメント
*/

PHPの変数とデータ型

変数とは値を格納するための箱とよく例えられます。

利用方法としてはすでに値を変数名として定義しておくことで後々頻出する値の入力の手間を省くことが出来ます。

$変数名 = 値;

変数一つにつき入れることが出来る値は1つのみ

もし文字列と混ぜて値を表示したい時は「$変数名」の後に半角スペースを入れるもしくは「{$変数名}」と記述する。

またデータ型と呼ばれるものが存在し、変数を扱う際に利用します。

データ型内容
論理値型(bool,boolean)TRUE、FALSEの真偽値
整数型(int,integer)32ビット符号付整数
浮動小数点型(float,double)32ビット及び64ビット符号付少数
文字列型(string)文字列
配列型(array)配列
オブジェクト型(object)オブジェクトを参照する。
ヌル(NULL)参照するものがない

基本データ型と参照型の違い

基本データ型は変数自体がデータ型を格納しています。

参照型は参照する対象となる物(配列、オブジェクト)のアドレスを変数に格納しています。

変数に格納されたアドレスその先にある物を参照するとそれが対象物となります。

基本データ型と参照型の違いのイメージ

PHPのリテラル

リテラルとは数値や文字列定数値のことを指します。

プログラム中で使用される数値や文字列の低数値の事。

少しわかりにくいかもしれませんが実際に見ていただいた方が速いと思います。

種類説明使用例
整数リテラル整数を表すリテラル10 014 0xFF
浮動小数リテラル浮動小数を表すリテラル3.14 1.41421356
文字列リテラル文字列を表すリテラル”海” ”porsche”
論理値リテラル「True」もしくは「False」を表す理れたるTRUE FALSE
リテラルの種類

書く時の注意点として文字列は「”」もしくは「’」で囲むとったものです。また、8進数は先頭に0をつける。16進数は腺というに0xをつけるというったことを守りましょう。

PHPの識別子

識別子とは、クラス、インターフェース、変数、定数、メソッドに付ける名前のことを指します。

基本的に自由にはなりますが、ルールが存在します。

識別子をつけるときのルール

  • 英文字もしくはアンダースコアから始める
  • 予約語は使用できない

予約語に関してですが。これはPHPで定義されている文字は使えません。

正確に言うと使用する事は可能ですが、プログラミング言語の一種の様にとらえられる可能性があり、混乱を招く可能性があるので好ましくないといったところです。

どういった予約語があるかというと一部ですが。

and, array, as, case, catch, const, continue, default, do, break
else, elseif, endif, function, goto, if, or, new

PHPの他にもプログラミングの勉強をしていた人であれば、納得がいくと思います。

PHPの定数とは

定数とはプログラム内で何らかの処理や計算がなされたとしても定義をした後に変わることのない数字のことを指します。

定数の定義方法はdefine関数を使用します。

【ルール】
define("定数名","定義したい値");
【実際の使用例】
define("C","299792458");
define("APPLE_PIE","果実");

定数名の部分はすべて大文字で単語の切れ目の部分には空白ではなくアンダースコアを入力

PHPの命名規約

命名規約とは識別子に付ける名称のルール

下記のようなものがあります。

種類詳細使用例
クラス名、インターフェース名・一文字目は大文字で、単語が切れた時にも大文字を使用
・区切りにはアンダースコア
Audio,Phone,QA_Answer
メソッド(関数)名・一文字目は小文字にし、単語の切れ目には大文字を利用する
・アンダースコアは基本使用しない
setName,getPrice
変数名・一文字目は小文字にし、単語の切れ目には大文字を利用する
・アンダースコアは基本使用しない
$age,$price,$userRegion
定数・全て大文字の英字にして単語の切れ目にはアンダースコアを使用するMAX,MIN,USER_REGION
PHPの命令規約

PHPの基本文法2

プログラム内でデータを処理する記述、データを呼び出す記述になります。

こちらも必須です。

PHPの演算子

小学校の算数で習った加減乗除をPHPのプログラムの処理においても使用します。

そのために使用されるのが演算子になります。

+(加算)、-(減算)、*(乗算)、/(除算)、%(剰余)のことを指します。

実際に使用した例が下記になります。非常に簡単で指定した数字の間に演算子を挿入するだけです。

<?php
$x = 5;
$y = 2;

echo "計算結果は".($x * $y);
?>

演算子の記述の短縮

ちなみに記述を短縮することも可能です。

「$x = $x * $y;」は「 $x *= $y;」と書き換えることが出来ます。

よって下記でもOK

<?php
$x = 5;
$y = 2;

$x *= $y;
echo "計算結果は".$x;
?>

インクリメント演算子とデクリメント演算子

これは変数に+1をするときに使用します。

「++$x」の様に前に++と前に付けるだけでOK

※「$x++」後に付けると(後置型)処理後に1を加算します。

これらを総称してインクリメント演算子と呼びます。

デクリメント演算子は「++」の部分が「--」になるだけです。

等値演算子

二つの値の等価判定を行うときに使用します。

具体的には下図をご覧ください。

演算子詳細
==値が等しいかの判定
===値と方が等しいかどうかの判定
!=値が等しくないかどうかの判定
!==値と方が等しくないかどいうかの判定
等値演算子
<?php
$x = 5;
$y = 5;

echo "それぞれの値は等しい?".($x == $y);
?>

実行結果は等しい場合は「1」が表示されそうでない場合何も表示されません。

実際に使うときはif文やfor文の中に組み込んで使用するため単体で使用する事は少ないです。要素の一つとして知っておきましょう。

関係演算子

演算子詳細
>左の値が右の値より大きいかの判定
>=左の値が右の値以上かの判定
<左の値が右の値より小さいかの判定
<=左の値が右の値以下かの判定
関係演算子
<?php
$x = 5;
$y = 10;

echo "左の値は右の値以上かどうか?".($x >= $y);
?>

こちらもtrueの場合は「1」をfalseの場合は何も表示しないという実行結果になります。

上記の例で言えば表示しないといった実行結果になります。

論理演算子

AND,OR,NOTの意味を持ち条件分岐に使用します。

演算子詳細
&&左右の条件がTRUEのとき全体の評価をTRUEに
||左右のどちらかの条件がTRUEのとき全体の評価をTRUEに
!結果を反転させる
関係演算子
<?php
$x = 20;

echo "値xは5以上かつ30以下どうか?".(5 <= $x && $x <= 30);
?>

実行結果は「TRUE」もしくは「FALSE」で出力されます

三項演算子

条件式の真偽によって任意の異なる値を返す特殊なものになります。

今まで紹介したものと組み合わせて使用します。

条件式 ? A : B

意味は条件式の部分がTRUEの場合Aに格納された値を表示し、FALSEの場合はBを表示します。

<?php
$x = 8;
$y = 16;

$TTL = $x > $y ? "大きいです" : "小さいですよ";
echo "xはyより大きいですかね?".$TTL;
?>

この場合「小さいですよ」と実行結果には表示されます。

PHPの型変換

PHPで使用される型ですが「()」で囲むことで変数の型を強制的に変更することが可能です。

出力される値を整えることが出来ます。

<?php
$x = 678.90;

echo (int)$x ;
?>

このようにすることで「678」だけを表示可能です

PHPで別ファイルを読み込む

PHPで記述されたファイル等複数存在するときに別のファイルを読み込みたい。

そういったときに利用されるものとして下記があります。

  • include文
  • require文

実際の記述方法は下記になります。

「()」を省略することも可能でその場合はincludeやrequireの後ろに半角スペースを入れるといいです。

<?php
include("ファイル名.php");
require("ファイル名.php");
?>

また「include_once」「require_once」と記述すると。一度ファイルが読み込まれている場合は読み込まないという記述も可能です。

まだ読み込まれていないファイルの場合にのみ読み込みが行われます

PHPはサイトを作成するためには必須の言語

当ブログも当然ですがPHPを無くしては動かすことは出来ません。

記述も少し違うとエラーが発生します。以前誤ってPHPファイルを一つ消してしまったことがありましたが。

見事にサイトが機能しなくなりました。

そのくらいサイトを動かす上では重要な言語になっています。

とは言えプログラミング言語の中では非常に学びやすい覚えやすいで有名な言語かつ汎用性が高いので非常に好まれる言語でもあります。

今回は基本的な部分を紹介しました。次回はさらに基礎の部分を掘り下げていこうかと思います。

プログラミングをマネタイズしたい

プログラミング 副業

プログラミングを独学で習得し稼ぐには?【筆者体験談あり】

2024/5/4  

ちなみに 当然昔の僕も全くおんなじことを考えてました笑 今は、 副業ではなく自分の本業になってしまったという経緯などありますが、 入り口は同じくここからでした。 実際に僕が通ってきた道でもあります。 ...

今回の記事の続き

プログラミング

【PHP】基本文法とプログラムの実行方法2

2024/1/6  

前回の続きにはなりますが、(→前回はこちら) もう少し深いところまで掘り下げていきましょう。 基礎中の基礎にはなりますが、これを読み終える頃にはPHPのルールがある程度つかめていると思います。 あとは ...

  • この記事を書いた人

たかいち

【ブログ運営と声ブログコミュニティ運営】【25歳】【未経験から独学でエンジニア転職 ➤ 仕事終わりに作ったブログを毎日更新 ➤ ブログで月5万達成 ➤ ライターとして活動】「今はブログやライティングで副収入稼ぎながら、マネタイズのコツを声ブログにて毎日配信してます。」

-プログラミング