PHPのプログラミング基礎や基本を学びたい!という初心者向けに分かりやすく解説して行きたいと思います。
この記事では、PHPのプログラミング基礎にフォーカスして学習できるようにまとめていきます。4回目になる今回は、演算子について学んでいきましょう。
PHPのプログラミング学習では、1度だけ読んですべて理解するのは難しく、大切な基礎の理解を深めるためには繰り返し読み直していただければ良いと思います。
初心者の方にとってPHPのプログラミングの学習に役立てて頂けれたらうれしく思います。
環境概要
この記事でご説明する方法は、以下のパソコンで進めた内容になります。
ご自身と環境が違うことで、挙動が変わる場合があります。
- OS:Windows 10 Home 64 ビット
- CPU:Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz (8 CPUs), ~2.0GHz
- GPU:Intel(R) UHD Graphics 620
- メモリー:16GB
また、この記事内容では、以下の開発環境が前提となります。
- パソコンに「XAMPP」をインストール済み
- パソコンにテキストエディタ「VSCode」をインストール済み
インストールがまだの場合は、以下からインストールをしましょう!
PHPのプログラミング基礎学習 – 演算子を理解する!
PHPのプログラミング基礎学習の4回目は「演算子」について説明していきます。
過去シリーズは、以下のリンクよりご覧になってください。
では、学習を始めましょう!
演算子とは?
データ同士の数字の合計を計算したり、文字列と文字列を連結させて1つの変数に代入したりなど、これらすべて演算子によって成り立ち、演算子は必須な機能です。
演算子の使い方
プログラミングには、データの型でも説明した通り、さまざまなデータ(値)がありますが、同じように演算子の種類もたくさんあります。
PHPの中もよく使用する演算子を説明していきます!
代入演算子
代入演算子は、今までの学習で幾度となく出てきた「=
」になり、代入演算を行います。右辺を左辺に代入する時に使います。
<?php
$numbar = 100; // 100の整数値を$numbarという変数に代入
$var = "「=」が代入演算子です"; //"「=」が代入演算子です"も文字列を$varという変数に代入
?>
代数演算子
代数演算子は、加算や減算などの四則演算や、除算、剰余、累乗などの計算をする時に使い、全部で5つあります。また、代入演算子を算術演算子とも呼ぶこともあります。
<?php
// 足し算:+
$num1 = 10 + 5; // 結果 15
// 引き算:-
$num2 = 10 - 5; // 結果 5
// 掛け算:*
$num3 = 10 * 5; // 結果 50
// 割り算:/
$num4 = 10 / 5; // 結果 2
// 余り算:%
$num5 = 10 % 4; // 結果 2 (割った後の余り)
?>
文字列演算子
文字列に対しての演算子で、文字列の連結を行う.
(ドット)演算子があります。2つの文字列をドットでつなぐことで2つを合わせた文字列になります。これを、結合演算子といいます。
もう1つ、結合代入演算子があります。.=
を用いて、右辺の値を左辺に代入かつ結合を行います。
<?php
$name = 'monkey';
//結合演算子
$full_name = $name . ' punch';
echo $full_name . PHP_EOL; // 結果:monkey punch
//結合代入演算子
$name .= ' punch';
// ↑ 結合演算子で$name = $name . ' punch';と同じ意味
echo $name; // 結果:monkey punch
?>
自動的な型変換について
代数演算子や文字列演算子に共通する、PHPの自動的な型変換について触れていきます。
通常、数値同士での四則演算や、文字列同士の連結などのように、演算子の対象が同一のデータ型でないと使えません。例えば、10 + '文字です'
という演算があったとしても意味がないので、演算を実行されるには同じ性質のデータがである必要があります。
ただPHPの場合は、データ型を変換すれば意味がありそうな値の場合は、自動的にデータ型の変換が行われて演算が実行されます。
<?php
$num = 1 + '2'; // 2は文字列ですが数字として認識し演算されます。
var_dump($num);
$string = 1 . '位です!'; // 1は整数型ですが、文字列と認識して演算されます。
var_dump($string);
?>
実行結果は以下になります。
int(3)
string(13) "1位です!"
比較演算子
比較演算子は、主に2つのデータを比較する時に使い、その結果を論理値(boolean型)であるtrue
またはfalse
で返します。
比較演算子は、データが等しい、等しくない、以上、以下など様々な種類があり、ある条件式が正しい場合の事を「満たす」といい、満たす場合の論理値がtrue = 真
、正しくない場合を「満たさない」といい、満たさない場合の論理値がfalse = 偽
となります。
比較演算子の式 | 式の解説 |
---|---|
$a == $b | 右辺($b)と左辺($a)が等しい場合はtrue 、等しくない場合はfalse を返す |
$a === $b | 右辺($b)と左辺($a)が等しい場合はtrue 、等しくない場合はfalse を返す【値が等しく、データ型が同じある】 |
$a != $b | 右辺($b)と左辺($a)が等しいくない場合はtrue 、等しい場合はfalse を返す |
$a !== $b | 右辺($b)と左辺($a)が等しいくない場合はtrue 、等しい場合はfalse を返す【値が等しくない、データ型が同じでない】 |
$a < $b | 右辺($b)より左辺($a)が小さい場合はtrue 、右辺($b)より左辺($a)が大きいか等しい場合はfalse を返す |
$a > $b | 右辺($b)より左辺($a)が大きい場合はtrue 、右辺($b)より左辺($a)が小さいか等しい場合はfalse を返す |
$a <= $b | 右辺($b)より左辺($a)が小さいか等しい場合はtrue 、右辺($b)より左辺($a)が大きい場合はfalse を返す |
$a >= $b | 右辺($b)より左辺($a)が大きいか等しい場合はtrue 、右辺($b)より左辺($a)が小さい場合はfalse を返す |
「=
」は代入演算子で変数への代入に対して、「==
」は等しい
という意味になり、1字違うだけで全く意味が変わりますので気を付けてください。
また、「==
」この比較演算子で気を付ける必要があるのが、10 == '10'
のように整数型の10
と、文字列型の'10'
を比較した場合でも、true
が返ってきます。データ型まで含めた厳密な比較をする場合は「===
」を使います。
これらの比較演算子を使うことで、条件式がtrue
かfalse
かコンピュータが判断できるようになり、条件分岐には欠かせない「if文」等の時に活躍します。
<?php
// ①右辺(20)より左辺(10)が小さいか等しい場合にtrue
$bool1 = 10 <= 20;
var_dump($bool1);
// ②右辺(20)より左辺(10)が等しい場合にtrue
$bool2 = 10 == 20;
var_dump($bool2);
?>
実行結果は以下になります。
bool(true)
bool(false)
①は20
より10
が小さいか等しい条件を満たしているのでtrue
が返ります。
②は20
と10
が等しい条件を満たしていないのでfalse
が返ります。
論理演算子
論理演算子は、比較演算子と合わせて使い、複数の条件式を満たしているかの結果を論理値(boolean型)であるtrue
またはfalse
で返します。
論理演算子の式 | 式の解説 |
---|---|
$a and $b | $aがtrue かつ$btrue か?(論理積) |
$a && $b | $aがtrue かつ$btrue か?(論理積) |
$a or $b | $aがtrue または$btrue か?(論理和) |
$a || $b | $aがtrue または$btrue か?(論理和) |
!$a | $aがtrue ではない(論理否定) |
論理演算子を使用する例が以下になります。
<?php
$a = 10;
//論理積(and)
var_dump($a > 5 and $a < 15); // 結果 true
//論理積(&&)
var_dump($a > 5 && $a < 15); // 結果 true
//論理和(or)
var_dump($a > 5 or $a < 5); // 結果 true
//論理和(||)
var_dump($a > 5 || $a < 5); // 結果 true
//否定(!)
var_dump(!($a > 15)); // 結果 true
?>
加算子と減算子
加算子と減算子は、変数のデータをインクリメント
(1ずつ加算)またはデクリメント
(1ずつ減算)する時に、使います。
for文などの繰り返し処理の時や、1つずつ増えたり、1つずつ減ったりするプログラムが必要な時によく利用します。
加算子/減算子の式 | 式の解説 |
---|---|
++$a | 前置加算子:$aに1を加えて、$aを返します |
$b++ | 後置加算子:$bを返して、$bに1を加えます |
–$c | 前置減算子:$cに1を引き、$cを返します |
$d– | 後置減算子:$dを返して、$dに1を引きます |
以下の使用例でどのタイミングで増減しているかを理解しましょう!
<?php
//前置演算子
$a = 5;
echo ++$a; //結果:6
//後置加算子
$b = 5;
echo $b++; //結果:5
echo $b; //結果:6
//前置減算子
$c = 5;
echo --$c; //結果:4
//後置減算子
$d = 5;
echo $d--; //結果:5
echo $d; //結果:4
?>
まとめ
PHPのプログラミング基礎の演算子を解説しましたが、いかがでしたでしょうか?
ここで取り上げた演算子は、PHPのプログラミングで基礎に該当する活用頻度の高い演算子を抜粋して説明しました。
さまざまな演算子が多々ありますが、無理に覚えようとせずに、演算子の全体の仕組みを把握するように理解し、必要な時に見返してプログラミングを作る過程で少しずつ使用をすることで、必然と身についてきますのでコツコツ学習しましょう!
この記事が、あなたの学習役立てれば幸いです。では、お疲れ様でした!