今すぐ覚えておきたい!PHPの演算子の書き方【初心者向け】

プログラミング初心者向けにPHPの演算子の書き方について解説しています。論理演算子や比較演算子など、PHPの基本的な内容です。プログラムを書く上で頻出する知識なので、ソースコードを実際に書きながら理解しましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

PHPで書く演算子の使い方について詳しく解説しています。

代数演算子、代入演算子、比較演算子、論理演算子とPHPのプログラムを書く上でよく利用する演算子なので、書き方を理解しておきましょう。

そもそもPHPが何か分からない場合は、先にPHPとはの記事をご覧ください。

 

なお本記事は、TechAcademyのPHPオンライン講座の内容をもとにしています。
今回の記事の内容は動画でもご覧いただけます。

テキストよりも動画の方が理解しやすいという場合はぜひご覧ください。(動画は4つに分かれています)

 

目次

 

演算子とは

演算子とは、プログラミングで足し算や引き算であったり、ある2つの値の大小を比較したり、一致/不一致かを判定したりするのに使われる記号のことをいいます。

以下では、よく使われる4つの演算子をまとめています。

 

大石ゆかり

演算子って何ですか?

田島悠介

例えば、足し算には記号のプラス(+)を使うよね。ただの記号じゃなくて特別な意味を持っている記号なんだよ。

大石ゆかり

なるほど!特別な文字ってHTMLでもありましたね。

田島悠介

では、色々な演算子を見てみよう!

 

代数演算子

代数演算子は、数値を加減乗除の計算に使われる演算子です。

小学校で習ったかけ算、わり算の記号とは違い、かけ算では「*」をわり算では「/」を用いるのが特徴です。Excelなどを使い慣れている方は特に問題なく理解できるでしょう。

 

代入演算子

代入演算子は、ある変数にある値を代入するときに使われる演算子です。

記号は主に「=」を使います。初めてプログラミングを学ぶ方からすると「等号(イコールの意味)じゃないの?」と思われるかもしれませんが、プログラミング言語での等号は次の「比較演算子」にあります。

慣れるまで理解に時間がかかるかもしれませんが、プログラミングをする上で代入は基本的な知識になるので、書きながら覚えていきましょう。

 

比較演算子

比較演算子は、ある2つの変数、もしくはある変数とある値が一致しているか、もしくは大小関係を比較する時に使われる演算子です。

記号は「==、<=、=>」などがあります。代入演算子で書かれている等号は「==」とイコールを重ねて書きます。

 

論理演算子

論理演算子は、「Aが1以上 かつ Bが2以上」といった複数の条件を表現する時に使われる演算子です。

記号は「and、or、&&、||」を使います。主にif文やwhile文で使われます。文章で説明してもわかりづらいので、「論理演算子の書き方」の章で説明します。

では、実際に書き方を説明していきます。

 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

代数演算子の書き方

代数演算子は、「+-*/%」で表現します。書き方は

A(数値もしくは変数)  代数演算子  B(数値もしくは変数)

のように書きます。意味はそれぞれ

「+」の場合は、「A+B」

「-」の場合は、「A-B」

「*」の場合は、「A×B」

「/」の場合は、「A÷B」

「%」の場合は、「A÷B」の余り

です。

それではソースコードで説明します。

<?php
// 足し算
print("足し算: 10 + 20 = ");
print(10 + 20);           // 10 + 20 の結果が表示されます;
print("\n");
// 引き算
print("引き算: 100 - 20 = ");
print(100 - 20);           // 100 - 20 の結果が表示されます。
print("\n");
// 掛け算
print("掛け算: 9 * 5 = ");
print(9 * 5);           // 9 * 5 の結果が表示されます。
print("\n");
// 割り算
print("足し算: 100 / 10 = ");
print(100 / 10);           // 100 / 10 の結果が表示されます。
print("\n");
// 剰余
print("剰余: 45 % 10 = ");
print(45 % 10);           // 45 % 10 の余りが表示されます。
print("\n");
?>

以下、実行結果です。

足し算: 10 + 20 = 30
引き算: 100 - 20 = 80
掛け算: 9 * 5 = 45
割り算: 100 / 20 = 5
剰余: 45 % 10 = 5

それぞれ、代数演算子によって数値が計算されていることがわかります。

 

代入演算子の書き方

代入演算子は、「=」で表現します。書き方は

変数 = (数値もしくは変数)

のように書き、「変数に(数値もしくは変数)を代入する」ことを意味します。

それではソースコードで説明します。

<?php
// 変数 $aisatsu に こんにちは を代入します。
$aisatsu = "こんにちは";
print($aisatsu);
?>

以下、実行結果です。

こんにちは

$aisatsu に “こんにちは” という文字列を代入しています。

$aisatsuをprint関数で表示することで “こんにちは” が表示されます。文字列以外にも、数値や変数なども代入演算子によって代入することができます。

 

比較演算子の書き方

比較演算子は、「==、>=、<=」で表現します。書き方は

A(数値もしくは変数)  比較演算子  B(数値もしくは変数)

のように書きます。

意味は、

「==」の場合は、「AはBと等しい」

「>=」の場合は、「AはB以上である」

「<=」の場合は、「AはB以下である」

ことを意味します。

それではソースコードで説明します。

<?php
// 代入演算子で $x に 3 を代入します。
$x = 3;

// $x が 3であれば、「$x は 3です。」と表示されます。
if($x == 3) {
  print('$x は 3 です。');
  print("\n");
}

// $x が 2以上であれば、「$x は 2以上 です。」と表示されます。
if ($x >= 2) {
  print('$x は 2以上 です。');
  print("\n");
}

// $x が 2以下であれば、「$x は 2以下です。」と表示されます。
if ($x <= 2) {
  print('$x は 2以下 です。');
  print("\n");
}
?>

以下、実行結果です。

$x は 3 です。
$x は 2以上 です。

「$x が 3です。」と「$x が 2以上 です。」が無事表示されていることがわかります。

「$xが2以下です。」が表示されないのは、「$x は3」だからです。

 

論理演算子の書き方

論理演算子は「and、or、&&、||」で表現します。「and」と「&&」、また「or」と「||」はそれぞれ同じ意味を持ちます。

なぜ同じ意味のものが複数あるかは「演算子の優先順位」があるからです。

書き方は、

条件A 論理演算子 条件B

のように書き、意味はそれぞれ

「and」「&&」の場合は、「条件Aかつ条件B」

「or」「||」の場合は、「条件Aまたは条件B」

となります。それではソースコードを書いていきましょう。

<?php
// 代入演算子で $x に 3 を代入します。
$x = 3;

// $x が 1以上 かつ 10以下 であるかどうかを判定しています。
if($x >= 1 and $x <= 10){
  print('$x は 1以上 かつ 10以下 です。');
  print("\n");
}

// $x が 4以上 または 5以下 であるかどうかを判定しています。
if($x >= 4 || $x <= 5 ){
  print('$x は 4以上 または 5以下 です。');
  print("\n");
}
?>

以下、実行結果です。

$x は 1以上 かつ 10以下 です。
$x は 4以上 または 5以下 です。

$xは3を代入してるため、それぞれ「1以上かつ10以下」と「4以上または5以下」の条件を満たしています。

 

大石ゆかり

比較演算子と論理演算子、難しいですね!

田島悠介

比較演算子は主に、if文で使われるんだよ。その時、複数の条件がある場合に論理演算子を使って、表現できるんだ。

大石ゆかり

値を比較するので、その結果によって分岐を作るって感じですかね。

田島悠介

そうだね。比較演算子が覚えにくい場合は、イコール(=)は必ず右側って覚えるといいよ。

 

実際に書いてみよう

実際に各演算子を使って、プログラムを書いてみましょう。

ここでは、「1から100までの数字の中で、”3かつ7で割り切れる” 数字を表示する」プログラムを作ってみます。

以下がソースコードです。

<?php
/* 1から100までの数字の中で3かつ7で割り切れる数字を表示するプログラムです。 */

// $i に 1 を代入します。
$i = 1;

// $i が 100 になるまでwhile文の中が実行されます。
while( $i <= 100){
  if($i % 3 == 0 and $i % 7 == 0 ){
    print($i);
    print("\n");
  }
  $i = $i + 1;
}
?>

以下、実行結果です。

21
42
63
84

「3かつ7で割り切れる数字」を表示しているので、21の倍数が表示されていれば成功ですね。

書かれているソースコードの意味について説明していきます。

if($i % 3 == 0 and $i %7 == 0){
  print($i);
  print("\n");
}

ここでは代数演算子と比較演算子と論理演算子を使っています。

$i が 3 で割ったときの余りが0の場合(つまり $i が3で割り切れる場合)かつ $i が7で割ったときの余りが0である場合(つまり $i が7で割り切れる場合)のときの$iを表示しています。

$i = $i + 1;

ここでは代入演算子と代数演算子を使っています。 $i に $1 + 1 を代入します。 例えば $i が 1 の場合、 $i に 1 を足した結果を $i に代入しているため、 $i には 2 が代入されます。

 

以上で各演算子の解説は終わりです。

プログラミングにとって演算子の知識は欠かすことのできないものですので、簡単なプログラムを繰り返し作ってみて、手に馴染ませましょう。

 

大石ゆかり

演算子ってたくさんあるんですねー。足し算引き算など計算に使う演算子は比較的わかりやすいんですけど。

田島悠介

そうだね。論理演算子や比較演算子は、少しとっつきにくいね。

大石ゆかり

覚えるコツみたいなのはありますか?

田島悠介

演算子は良く使うので慣れながらでいいと思うよ。後、この演算子はPHPだけじゃないんだ。ほとんどのプログラミング言語で共通なんだ。

大石ゆかり

他のプログラミング言語でも共通なんですか。じゃあ、ちょっとがんばっちゃおうかなー♪

 

また、PHPを勉強していて、

  • もっと効率的に勉強したい
  • 誰かに聞きながら学びたい
  • 自分でWebサービスを作りたい

と思ったことはないでしょうか。

 

そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

独学に限界を感じている場合はご検討ください。