PHP
この記事では「PHP」について、基本の意味と使い方を初心者向けにやさしく説明します。
PHP variables are named "containers of data" that temporarily store information, allowing you to manipulate and reuse it within your code.
変数 [variables]
変数の基本
PHPの変数は、データを一時的に格納するために使用されます。変数を使用することで、値を保存、更新、操作することができます。PHPでは、変数名の前にドル記号($)を付けて宣言します。
PHP
$name = "太郎";
$age = 25;
変数名のルール
- 英字またはアンダースコアで開始
- 変数名は英字(A–Z、a–z)またはアンダースコア(_)で始める必要があります。
- 英数字とアンダースコアを使用
- 最初の文字以降は、英数字(A–Z、a–z、0–9)とアンダースコアを使用できます。
- 大文字・小文字を区別
- $Variable と $variable は別の変数として扱われます。
無効な例
PHP
$9name = "エラー"; // 数字で開始するため無効
データ型
PHPは動的型付け言語であり、変数のデータ型を明示的に指定する必要はありません。主なデータ型は以下の通りです。
- 整数型(integer)
- 正または負の整数。例:$number = 10;
- 浮動小数点数(float/double)
- 小数点を含む数値。例:$price = 19.99;
- 文字列型(string)
- テキストデータ。例:$greeting = "こんにちは";
- ブール型(boolean)
- 真(true)または偽(false)。例:$is_member = true;
- 配列型(array)
- 複数の値を保持するデータ構造。例:$colors = array("赤", "青", "緑");
- オブジェクト型(object)
- クラスのインスタンス。例:$date = new DateTime();
- NULL
- 値が存在しないことを示す特別な値。例:$value = NULL;
変数のスコープ
変数のスコープは、その変数がアクセス可能な範囲を示します。
- ローカルスコープ
- 関数やメソッド内で宣言された変数は、その内部でのみアクセス可能。
-
PHP
function test() { $localVar = "ローカル"; } - グローバルスコープ
- 関数の外で宣言された変数は、スクリプト全体でアクセス可能。ただし、関数内で使用する場合は global キーワードが必要。
-
PHP
$globalVar = "グローバル"; function test() { global $globalVar; echo $globalVar; } - スーパーグローバル変数
- $_GET、$_POST、$_SESSION など、どこからでもアクセス可能な組み込み変数。
変数の変数
変数の名前を動的に扱うことができます。
PHP
$a = "hello";
$$a = "world";
echo $a; // 出力: hello
echo $$a; // 出力: world
echo $hello; // 出力: world
型のキャストと型変換
PHPでは、自動的に型変換が行われることがありますが、明示的に型をキャストすることも可能です。
PHP
$number = "10";
$intNumber = (int)$number; // 整数にキャスト
$floatNumber = (float)$number; // 浮動小数点数にキャスト
変数の検査
- isset()
- 変数が設定されており、NULLでないかを確認します。
-
PHP
if (isset($var)) { // $var はセットされています } - empty()
- 変数が空か("", 0, "0", NULL, FALSE, array())を確認します。
-
PHP
if (empty($var)) { // $var は空です } - is_null()
- 変数がNULLかを確認します。
-
PHP
if (is_null($var)) { // $var は NULL です }
変数の削除
unset() 関数を使用して変数を削除できます。
PHP
$var = "データ";
unset($var);
// $var はもう存在しません
変数の変数を使用する際の注意
変数の変数はコードの可読性を低下させる可能性があるため、使用には注意が必要です。可能であれば、配列やオブジェクトを使用してデータを管理することをお勧めします。
定数との違い
変数は値を変更できますが、定数は一度定義すると値を変更できません。定数は define() 関数または const キーワードを使用して宣言します。
PHP
define("SITE_NAME", "私のサイト");
const VERSION = "1.0.0";