PROGRAM」カテゴリーアーカイブ

プログラミング記事

PHP基礎知識/条件分岐


sponsord link

1.IFステートメント

IFステートメントは条件分岐の命令で条件によって異なる処理内容を実行させることを目的として使用します。
実行する処理範囲を定義する「{~}」は、実行する処理が複数の場合必須、処理が1つの場合省略可能ですが、省略しないほうが見やすいでしょう。

IFステートメントの構文

if (条件式)
{条件式が真(true)の場合に実行する処理;}
else
{条件式が偽(false)の場合に実行する処理;}

例1.

①$TANKA=0の場合、$KINNGAKUに0を設定する。
②$TANKA≠0の場合、$KINGAKKUに$TANKA*$SURYOを設定する。
このような処理を行う場合、以下のように記述します。
if ($TANKA == 0)
{$KINGAKU = 0;}
else
{$KINGAKU = $TANKA * $SURYO;}
上記の「==」は、等しいことを比較するための比較演算子です。

2.比較演算子の種類

比較演算子 記述例 記述例の意味
== A == B AとBの値が等しい
=== A === B AとBの値と型が等しい
!= A != B AとBの値が等しくない
<> A <> B AとBの値が等しくない
!== A !== B AとBの値または型が等しくない
> A > B AがBより値が大きい
>= A >= B AがBと値が等しいか、大きい
< A < B AがBより値が小さい
<= A <= B AがBと値が等しいか、小さい

例2.

①$GENGOU=1の場合、”明治”と表示
②$GENGOU=2の場合、”大正”と表示
③$GENGOU=3の場合、”昭和”と表示
④$GENGOU=4の場合、”平成”と表示
⑤上記以外の場合、 “その他”と表示

以下はIF文を使った条件分岐の記述です。

if ($GENGOU == 1)
{print “明治”;}
elseif ($GENGOU == 2)
{print “大正”;}
elseif ($GENGOU == 3)
{print “昭和”;}
elseif ($GENGOU == 4)
{print “平成”;}
else
{print “その他”;}

3.論理演算子

論理演算子 記述例 記述例の意味
and , && A and B , A && B AとBが真
or , || A or B , A || B AかBが真
xor A xor B AかBの一方だけが真
! !A Aが偽

例3.

①$GENGOU=1,2,3,4の場合、”正しい元号です。”と表示
②上記以外の場合、 “誤った元号です。”と表示

if ($GENGOU == 1 or

   $GENGOU == 2 or

   $GENGOU == 3 or

   $GENGOU == 4)

{print “正しい元号です。“;}

else

{print “誤った元号です。“;}

4.SWITCH文

例2のようなケースではSWITCH文を使用すると便利です。
switch ($GENGOU){
case 1: ($GENGOU=1の場合、breakeが来るまで実行されます)
print “明治”;
break;
case 2:  ($GENGOU=2の場合、breakeが来るまで実行されます)
print “大正”;
break;
case 3:  ($GENGOU=3の場合、breakeが来るまで実行されます)
print “昭和”;
break;
case 4:  ($GENGOU=4の場合、breakeが来るまで実行されます)
print “平成”;
break;
default:($GENGOU≠1,2,3,4の場合、}が来るまで実行されます)
print “その他”;
}

例4.

①$GENGOU=1,2,3,4の場合、”正しい元号です。”と表示
②上記以外の場合、 “誤った元号です。”と表示
switch ($GENGOU){
case 1:
case 2:
case 3:
case 4:
print “正しい元号です。”;
break;
default:
print “誤った元号です。”;
}

sponsord link


PHPの基礎知識/四則演算


sponsord link

1.四則演算の記述方法

①加算

加算の演算子は「+」記号を使用して以下のように記述します。
$ans=1+2

②減算

減算の演算子は「-」記号を使用して以下のように記述します。
$ans=2-1

③乗算

乗算の演算子は「*」記号を使用して以下のように記述します。
$ans=1*2

④除算

除算の演算子は「/」記号を使用して以下のように記述します。
$ans=2/1

⑤剰余

剰余の演算子は「%」記号を使用して以下のように記述します。
$ans=2%1

⑥その他の演算子

以下のように「演算子=」という記述方法もあります。
$ans += 1 は、$ans = $ans + 1と同一です。
$ans -= 1
$ans *= 1
$ans /= 1
$ans %= 1

2.四則演算の優先順位

四則演算の優先順位は、一般の算術式と同一の優先順位が適用されます。
1+2*3/4の場合
①2*3=5
②5/4=1
③1+1=2(結果は2となります) (1+2)*3/4の場合
①1+2=3
②3*3=9
③9/4=2(結果は2となります)

3.四則演算の型変換

①整数と固定小数点数値との演算

整数は固定小数点数値に型変換されて、固定小数点数値として演算を行います。
「1+1.1」の場合、「1.0+1.1」に変換されて結果は「2.1」となります。

②文字列の演算

文字列は、先頭の文字から連続した数字の部分を型変換して数値として演算を行います。
先頭の文字が数字でなければゼロとして演算を行います。
「”2017年1月1日”+”平成29年1月1日”」では「2017+0」に変換されて演算を行います。
一般的には文字列を演算に使用することは混乱の原因になりますので避けるべきでしょう。

4.定数

消費税の税率など使用頻度の高い数値を定数として定義することが出来ます。
以下の記述は、TAXという名前の定数を税率として0.08を設定する定義です。
税率が変わった場合、0.08という数値を色々な箇所で使用していたとすると全ての箇所を修正する必要がありますが、TAXという定数を使用することで定数の定義箇所だけの修正で済みます。
define(“TAX”, 0.08);
TAXを参照する場合は、$PRICE * TAXのように記述することが出来ます。

 

sponsord link


PHPの基礎知識/数字の定義


sponsord link

数字の記述方法

1.10進数の記述

10進数はに日常使われている最も一般的な記述方法で1桁を0~9の数字で表します。

先頭に符号(+、-)を付ける記述も可能です。

1
10
100
0.1
1.1
+1
-1

2.8進数の記述

8進数は1桁を0~7の数字で表す記述方法で、先頭の1桁に「0」と記述します。

01 :10進数の1
07 :10進数の7
010 :10進数の8
0100 :10進数の64
-01 :10進数の-1

3.16進数の記述

16進数は1桁を0~Fで表す記述方法で、先頭の2桁に「0x」と記述します。

0x01 :10進数の1
0x09 :10進数の9
0x0a :10進数の10
0x0b :10進数の11
0x0c :10進数の12
0x0d :10進数の13
0x0e :10進数の14
0x0f :10進数の15
0x10 :10進数の16
-0x10:10進数の-1

4.指数の記述

指数の記述はExxの形式で記述します。

3E2 :3 掛ける 10の二乗 = 300

3E-2 :3 掛ける 10のマイナス二乗 = 0.03

5.変数名の記述

文字列の変数名と同じですが、変数名の値に文字列が入るか、数字が入るかの違いだけです。

PHPの変数には他の言語のように変数自身にデータ型属性を定義することはありません。

$name=10 と記述すれば$nameには10進数の10が格納されます。

$name=010 と記述すれば$nameには8進

6.固定小数点と浮動小数点

固定小数点表記は、小数数の10が格納されます。点の位置を固定した形式で記述される数値定数を指します。

例えば、「0.01」などの記述表記です。

浮動小数点表記は、小数点の位置が固定されない形式で記述される数値定数を指します。

例えば、「1E2」などの記述表記です。

サンプルコード
<?php
$name10 = 10;
$name8  = 010;
$name16 = 0x10;
$name2E2a = 2E2;
$name2E2b = 2E-2;
print “10=$name10\n”;
echo “010=$name8\n”;
echo “0x10=$name16\n”;   
echo “2E2=$name2E2a\n”;
echo “2E-2=$name2E2b”;
?>
実行結果
Start
10=10
010=8
0x10=16
2E2=200
2E-2=0.02
0
Finish

 

sponsord link