変数が値なしで作成されるかどうかはわかっているので、自動的にNULLの値が割り当てられます。変数の 'NULL'値がechoとprintを使用して表示されず、var_dump()関数で表示されるのはなぜですか?
私は、次のコードスニペットがあります
<?php
$name;
echo $name;
?>
上記のコードスニペット出力の両方が以下の通りです
<?php
$name;
print $name;
?>
を(それはまったく同じです):
Notice: Undefined variable: name in C:\xampp\htdocs\php_playground\demo.php on line 7
別のコードスニペットがあります:
<?php
$name;
var_dump($name);
?>
上記の出力は、(最後)のコードスニペットは以下の通りである:私は、エコーを使用してそれを表示しようとしたときに値「NULL」が表示なっていない理由
Notice: Undefined variable: name in C:\xampp\htdocs\php_playground\demo.php on line 8
NULL
だから、私の質問です印刷しますか?
しかし、var_dump()関数を使って表示しようとすると "NULL"の値が表示されます。
これはなぜ発生していますか?
この現象の背景は何ですか?
ありがとうございます。
の長さを有しテストを含むストリング '暗黙的に値を文字列にキャストします。 '(string)NULL'は空の文字列です。だから、あなたはそれを見ることができない。そして、その目的に応じた 'var_dump'はそのままの状態でダンプを投げません。 – zerkms
@zerkms:var_dump()関数の出力として表示されるものは、文字列 "NULL"です。この文字列はデータ型か空の変数の値ですか? – user2839497
これは 'NULL'型の' NULL'値です。 http://php.net/manual/en/language.types.php http://php.net/manual/en/language.types.null.php – zerkms