1. ホーム 
  2. 備忘録 
  3. PHP

変数

変数の使い方

/** @var string 名前 */
private $name;
/** @var integer 年齢 */
private $age;

PHPは動的型付け言語なので実行時に自動的に型を判定してくれる

しかし、型を意識せずプログラムを書くと思わぬバグに遭遇するため、普段から意識するべき

/** ~ */ はPHPDocコメントなので省略できるが、あとから困るのでなるべくコメントを書いた方がよい


変数の型一覧

型名 用途
null 値を持たないことを表す null, NULL, Null
int(integer) 整数値 10, -100
float(double) 浮動小数点数値 -1.23, 3.1415
string 文字列 'apple', '123'
bool(boolean) 論理値 true, false
array 配列(連想配列含む) ['red', 101, 1.41]
object オブジェクト $object = new ObjectClass();
resource リソース
実態は数値データ(ハンドル)
$resource = fopen("text.txt", "r");

条件分岐やバリデーション、PHPDoc記述の際など型を意識する機会は多くある


変数の型の確認

関数 用途
is_null() null型かどうか調べる
is_int() 整数型かどうか調べる
is_float() 浮動小数点数型かどうか調べる
is_string() 文字列型かどうか調べる
is_bool() 論理型かどうか調べる
is_array() 配列型かどうか調べる
is_object() オブジェクト型かどうか調べる
is_resource() リソース型かどうか調べる

型の確認ではないが下記のような関数もよく使用するのでメモ

is_numeric() 文字列を含め、値が数値形式かどうか調べる

if($var), empty, isset, is_nullの違い

if($var) empty() isset() is_null()
$var = 0; false true true false
$var = 1; true false true false
$var = ''; false true true false
$var = '0'; false true true false
$var = null; false true false true
$var false true false true
$var = []; false true true false
$var = [1]; true false true false

if($var) と empty() が対称になっており、isset() と is_null() が対称になっている

empty()、isset()、is_null() はわりと英語の意味通りの間隔で覚えやすいが、if($var) はいざ使うとき結構不安になるので改めて整理した

特に $var = '0' は要注意


その他

変数の代入方法で便利そうな関数があったので紹介

// list() 関数で、配列に格納された値を順に変数に代入できる
list( $a, $b, $c, $d ) = [ 1, 2, 3, 4 ];