PHPの基礎知識とデータ型
カテゴリ:PHP編
PHPとは?
PHPはインタプリタ言語であり、CやJavaのようにコンパイルせずにそのまま実行できる言語です。
NoteC言語は機械語にコンパイル、JavaやC#は中間コード(バイトコード)にコンパイルしてから実行します。スクリプト言語とインタプリタはそれぞれ異なる概念を表しますが、現状インタプリタのようなコンパイル無しで手軽に実行できる言語をスクリプト言語と呼ぶ向きがあります。
PHPは変数名の先頭に $ 記号を付与するなど独特の仕様もありますが、原則としてCやJavaの構文に非常に似通った言語と言えます。そのため、それらの言語に馴染みのある方は違和感なく、ほぼそのままの知識でコードを記述できるでしょう。
PHPコードの記述方法
PHPのコードは <?php
と ?>
で囲んで、その中に記述します。なお閉じタグの ?>
は省略可能です。
C言語と同様に、文末(命令文の区切り)にはセミコロン(;)を記述、コードをまとめる場合(コードブロック)は波括弧({})で囲みます。
例)
<?php echo "Hello, world"; ?>
Note以降のコード例では、<?php
と ?>
は省略して記述します。
変数
変数名の先頭にはダラー($)記号を付与します。大文字と小文字は区別されます。
例)
$i;
$str;
$_arr;
以下のようなアンダースコア(_)以外の記号や、数値から始まる変数名は許可されていません。
例)
$str-1;
$1st;
データ型
PHPのデータ型には、整数型、浮動小数点型、文字列型、論理値型、配列型、オブジェクト型、リソース型、NULL型の8種類の型があります。 PHPの型は厳格なJavaとは異なり、自動識別(動的型付け)され、いわゆる緩い型付けの言語です。
整数型
PHPの整数型の範囲はC言語のlong型の範囲と同等で、一般的に-2,147,483,648から+2,147,483,647の範囲となります。(厳密にはシステムに依存)
Note10進数以外の表記を使用する場合、8進数は先頭に0、16進数は先頭に0x、2進数は先頭に0bを付与して表します。
浮動小数点型
PHPの浮動小数点型の範囲はC言語のdouble型の範囲と同等で、一般的には1.7E-308から1.7E+308の範囲となります。(厳密にはシステムに依存)
参考Eは累乗を表し、E-308は10^(-308)、E+308は10^308を表します。
文字列型
PHPの文字列型は多くの言語と同様にシングルクォート(')、またはダブルクォート(")で囲んで表します。 なお、ダブルクォートで囲んだ場合は、文字列内の変数値は展開されて表示されます。
また、ダブルクォート(")など、特別な意味を持つ文字をそのまま出力する場合は、直前に\記号を付与してエスケープする必要があります。
例)
echo "\"";
論理値型
論理値型は真偽値(trueまたはfalse)を表します。 PHPでfalseとして判定される条件は以下となり、false以外の値はすべてtrueと見なされます。
- キーワードfalse
- 整数値0
- 浮動小数点数値0.0
- 空の文字列("")および文字列"0"
- 要素数がゼロの配列
- NULL値
配列
配列は1つの変数内に複数の値を格納できる構造の型となり、array()構文を用いて作成します。
例)
$arr = array("Apple", "Orange", "Grape");
配列から値を取り出す場合は角括弧([])内に対象の要素番号を指定します。(要素番号は0から数えます)
例)
echo $arr[2];
//「Grape」が出力される
多次元配列
多次元配列は array() 構文内の値に array() 構文を入れ子にして定義します。
例)
$arr = array("Apple", "Orange", array("Grape", "Lemon", "Cherry"));
多次元配列から値を取り出す場合は角括弧([])を複数指定し、対象の要素番号を指定します。
例)
echo $arr[2][1];
//「Lemon」が出力される
連想配列
連想配列(キーと値のセット)は以下のように作成します。
$arr = array("Apple"=>"りんご", "Orange"=>"みかん", "Grape"=>"ぶどう");
連想配列から値を取り出す場合は角括弧([])内に対象のキーを指定します。
例)
echo $arr["Orange"];
//「みかん」が出力される
オブジェクト型
オブジェクト型は new 演算子を用いてクラスをインスタンス化したものを指します。
//クラス定義
class Foo {
private $str = "こんにちは";
public function getBar() { return $this->str; }
}
//インスタンス化
$obj = new Foo;
オブジェクトのメソッドと呼び出す場合は、-> 記号を使用します。
例)
echo $obj->getBar();
//「こんにちは」が出力される
Noteオブジェクト内の関数はメソッド、変数はプロパティと呼びます。
リソース型
リソース型はデータベース接続関数などが返す一時的な識別子(ハンドル)を表します。
例)
$res = database_connect();
なお、リソース型は参照がなくなれば自動で破棄されます。
NULL型
NULL型はその変数に何も値が代入されていないことを表すデータ型です。 一般的に変数値を空にする場合に使用します。
例)
$foo = "こんにちは";
$foo = null;
NoteNULL型は大文字/小文字を区別しないため、NULLでもnullでもNullでもすべてNULLとして扱われます。
以上、PHPの基礎知識とデータ型の解説でした。
公開日時:2020年05月24日 08:32:06