変数
変数の使い方 ▲
/** @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 ];
目次