LoginSignup
0
0

More than 3 years have passed since last update.

PHPの基本文法 -型について-

Last updated at Posted at 2019-05-20

PHPの基本文法 -型について-

PHPの基本文法について整理してみました。

PHPがサポートする型について

PHPは合計8種類の型をサポートします。

  • 4種類のスカラー型
  • 2種類の複合型
  • 2種類の特別な型

スカラー型について

スカラー型は、常に1つの値を保持している変数です。
スカラー型には、以下の4種類があります。

  • 理論値
  • 整数
  • 浮動小数点数
  • 文字列
//理論値(Boolean) 真偽の値を表す。値はtrueかfalseの2つ。
//例)
$flag = true;
$flag = false;

//整数(integer)は、10進数、16進数、8進数、2進数表記で使用可能。
//8進数表記は「0」を、16進数表記は「0x」を、2進数表記は「0b」を数の前につける。
//例)
$num = 1234; //10進整数
$num = -123; //負の数
$num = 0123; //8進数(10進数だと83)
$num = 0x1A; //16進数(10進数だと26)

//浮動小数点(float)は、小数点以下の値を持つ数値。
//例)
$num = 1.234;
$num = 1.2e3; //1200
$num = 7E-10; //0.0000000007

//文字列(string)は、「'」(シングルクォーテーション)、または「”」(ダブルクォーテーション)で囲んで表現する
//例)
$str = 'Hello World';
$str = "Hello World";

複合型について

複合型は、複数の値を格納することができる変数です。
複合型には、以下の2種類があります。

  • 配列
  • オブジェクト
//配列は、array関数で作成する。
//例)
$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
$array = array("太郎", "二郎", "三郎");
$array = array(
  "A" => "windows",
  "B" =>  "Mac",
  "C" =>  "Linux"
);

//オブジェクトは、クラスをインスタンス化して作成する。
//例)
class Hello{
    public function reply($str)
    {
        echo 'こんにちは' . $str;
    }
}

//Helloクラスのオブジェクトを生成する。
$hello = new Hello();

特別な型について

特別な型には、以下の2種類があります。

  • リソース
  • NULL
//リソースは、外部リソースへのリファレンスを保持している特別な変数です。
//リソースは特別な関数によって作成され、使用されます。
//例)
$fp = fopen("test.txt", "r"); // 外部ファイルオープン
var_dump($fp);                // $fpはリソース型
fclose($fp);                  // ファイルクローズ

//ある変数が値を持たないことを表すのがNULLです。
//例)
$num = NULL;

型の変換について

PHPでは、変数の型はその変数が使用される文により定義される。
オペランドのどれかが「float」の場合、全てのオペランドは「float」として評価され、結果は「float」になる。
その他の場合は、オペランドは「int」として解釈され、結果も「int」になる。

$foo = 2;            //fooは整数
$foo = $foo + 1.3;   //結果はfloatの3.3 
$foo = 5 + '10 age'; //結果は整数の15になる

キャストについて

ある変数を強制的にある特定の型として評価させたい場合には、型キャストを行う。
PHPの型キャストは、変換しようとする型をカッコで囲み、キャストする変数の前におきます。

$foo = 10;
$bar = (bool)$foo; //bar はbool

使用可能なキャストは、以下の通り。

キャスト  説明     
(int),(integer) 変数にキャスト
(bool),(boolean) 理論値にキャスト
(float),(double),(real) floatにキャスト
(string) 文字列にキャスト
(array) 配列にキャスト
(object) オブジェクトにキャスト
(unset) NULLにキャスト
(binary) バイナリ文字列にキャスト

PHPの基本文法 -変数について-

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0