役立つ情報
登録日: 2025-03-09   最終更新日: 2025-03-14

第2章 2.2. 変数とデータ型

PHPでは、変数はデータを保持し、その値を操作するために使用されます。変数は動的に型付けされ、さまざまなデータ型を扱うことができます。このセクションでは、変数の定義、データ型、変数のスコープとライフタイムについて詳しく説明します。

2.2.1. 変数の定義と使い方

PHPでは、変数はドル記号 ($) を使って定義します。変数名は文字やアンダースコアで始まり、数字を含むことができますが、数字で始めることはできません。

1. 変数の定義

  • 変数を定義するには、次のようにします:

    
    <?php
        $variableName = "Hello, World!";
        $number = 42;
        $pi = 3.14;
    ?>
    
  • ルール:

    • 変数名は大文字と小文字を区別します。
    • 変数は、初期化された時点でそのデータ型が決まります。

2. 変数の使用

  • 変数の値を出力するには echo を使用します:

    
    <?php
        $greeting = "Hello, World!";
        echo $greeting;
    ?>
    

    このコードは「Hello, World!」を表示します。

2.2.2. データ型(文字列、整数、浮動小数点、配列、オブジェクト、NULL、リソース)

PHPは動的型付け言語であり、変数にさまざまなデータ型を保持できます。ここでは、代表的なデータ型を紹介します。

1. 文字列 (String)

  • 文字列は、ダブルクォートまたはシングルクォートで囲まれたテキストです。

    
    <?php
        $string = "This is a string.";
        echo $string;
    ?>
    

2. 整数 (Integer)

  • 整数は、小数点を持たない正の数または負の数です。

    
    <?php
        $int = 42;
    ?>
    

3. 浮動小数点数 (Float)

  • 浮動小数点数は、小数点を持つ数値です。

    
    <?php
        $float = 3.14159;
    ?>
    

4. 配列 (Array)

  • 配列は、複数の値を一つの変数に格納するために使用します。PHPでは、インデックス付き配列と連想配列があります。
    • インデックス付き配列:

      
      <?php
          $array = array(1, 2, 3, 4);
          echo $array[0]; // 出力: 1
      ?>
      
    • 連想配列:

      
      <?php
          $assocArray = array("name" => "John", "age" => 30);
          echo $assocArray["name"]; // 出力: John
      ?>
      

5. オブジェクト (Object)

  • オブジェクトは、クラスのインスタンスであり、複数のプロパティやメソッドを持つことができます。

    
    <?php
        class Person {
            public $name;
            public $age;
    
            public function sayHello() {
            return "Hello, my name is " . $this->name;
            }
        }
    
        $person = new Person();
        $person->name = "John";
        $person->age = 30;
        echo $person->sayHello(); // 出力: Hello, my name is John
    ?>
    

6. NULL

  • NULL は変数に値がないことを表します。

    
    <?php
        $var = NULL;
    ?>
    

7. リソース (Resource)

  • リソースは、ファイルハンドルやデータベース接続といった外部リソースへの参照を表します。具体的には、関数の結果としてリソース型のデータが返されます。

2.2.3. 変数のスコープとライフタイム

変数のスコープとは、その変数がアクセス可能な範囲を指します。PHPには、以下のスコープが存在します。

1. ローカル変数

  • 関数やブロックの中で定義された変数は、その関数やブロック内でのみアクセス可能です。

    
    <?php
        function myFunction() {
            $localVar = "I am local";
            echo $localVar;
        }
    
        myFunction(); // 出力: I am local
        // echo $localVar; // エラー: 変数が未定義
    ?>
    

2. グローバル変数

  • グローバルスコープで定義された変数は、関数の外からアクセスできますが、関数内から直接アクセスすることはできません。関数内でグローバル変数にアクセスするには、global キーワードを使用します。

    
    <?php
        $globalVar = "I am global";
    
        function myFunction() {
            global $globalVar;
            echo $globalVar;
        }
    
        myFunction(); // 出力: I am global
    ?>
    

3. スーパーグローバル変数

  • PHPには、常にグローバルスコープでアクセス可能なスーパーグローバル変数があります。例として、$_GET$_POST$_SERVER などが含まれます。

4. 静的変数 (static)

  • 関数内で定義された変数に対して static キーワードを使用すると、その変数の値は関数が終了しても保持され、次回関数が呼び出された際にその値が使用されます。

    
    <?php
        function increment() {
            static $count = 0;
            $count++;
            echo $count;
        }
    
        increment(); // 出力: 1
        increment(); // 出力: 2
        increment(); // 出力: 3
    ?>
    

次のページへ
第2章 2.3. 定数

前のページへ
第2章 2.1. 基本的な構文

トップページへ
PHP参考書: はじめてのPHPプログラミング

Copyright 役立つ情報.net