PHPの見直し ーNULLになるものならないものー

こんにちは、リスターマークです。

PHPの復習も今日で3回目です
何やかんやで3日坊主まで来ました。

果たして4日目が来るのか来ないのか(笑)
、、ってなわけで、今日もPHPを見直していきます


今回の復習はNULLについてです。

まず、NULLとは「何もない。空白」と略されます
つまり、存在しないものという感じで覚えておくことです。


そして次の条件でプログラミングではNULLと評価されます。

①変数に開示的にNULLが代入されている

②変数に値が代入されていない

③UNSETで変数を破棄されている



とのことです。

ここで復習ですが、「変数」とは何でしょう?

変数とはよく値を入れる箱とか、名札やニックネームみたいなものだといわれますが、

今回は右辺の値をいれる箱という概念で伝えていきます。


ケース1 変数に開示的にNULLが代入されている

$case1 = NULL;

var_dump($case1);

// 結果:NULL

今回のケースは、故意にこの箱には何も入れません。空っぽですと先に伝える方法です。
なので、箱の中身を見せてください(var_dump)といってもNULLで帰ってくるということです。


ケース2 変数に値が代入されていない

$case2;   // 代入するものが無し

var_dump($case2);

// 結果: NULL (エラー文標示あり)

この場合、$case2の箱に何か入れますという宣言がありません。
その状態で$case2の中身を教えてくれ(var_dump)と言うても
何もありませんということでNULLが返ってきます。


ケース3 UNSETで変数が破棄されている

$case3 ='テスト';
unset($case3);
var_dump($case3);
// 結果: NULL (エラー文標示あり)

この場合も最初に'テスト'という値を$case3の箱に入れますが、
そのあとに$case3の箱の中身を全部空っぽにしてくださいというunset()の命令を行っているため
$case3の中身は空っぽなのでNULLになります。


また、今回のケース2、ケース3の方法ではパソコンによっては
このようなエラー文が表示されることがあります。

nullエラー


内容は変数が定義されてませんとのことです。
そりゃそうですよね。この箱にはこの値が入っているという宣言をしてないのでエラー文が出るのは正解です。

「CASE2ってなんじゃー? CASE3ってなんじゃー?」って言われているみたいなものです。


ここまでNULLの話をしてきましたが
逆にこれはNULLにならないケースも何個か紹介します。


● NULLにならないもの

ケース1 : 0(ゼロ)

$case4a = 0;
var_dump($case4a);
// 結果 int(0)

$case4b = '0'
var_dump($case4b);
// 結果 string(1)'0'


$case4aは数字の0として、
$case4bは文字の0として、箱の中に入ります。

つまり、0というものが存在するということです。
0=空っぽではないということです。


ケース2:’ ’ (スペース) 

$case5 ='';
var_dump($case5);
//  結果: string( )''
  * string()の()内はスペースの数の分だけの数字が入る

スペースも一つの枠という値として箱に入れます。
なので、’  ’の間が3つのスペースが入った’   ’の場合
string(3)''という結果が出ます。

なんか裸の王様みたいな感じですね。見えないものも見えるといわないといけない点でいうと


そんな感じでまとめてみました。


自分自身も今回まとめてみて、いつもより時間がかかりました。
いやー後の人に残すのは結構難しいですね。
けど、こうやって一つずつ足跡を残していこうと頑張っていきます。


最後までご覧いただきありがとうございました。

それではまた次回の投稿でお会いしましょう。



この記事が気に入ったらサポートをしてみませんか?