👋
空の文字列("")とnullの違いについて
概要
下記の通り、
空の文字列は文字列としての存在が「有る」ことを表します。
↕︎
一方nullは存在が「無い」状態を表し、
値が存在する場合とは別の対処をすることがあります。
null
例えば、
「配達希望日が未回答(null)の場合、最短でのお渡しになる」等、
配達希望日が指定された場合(値が存在する場合)とは別の対処が必要になったりします。
補足:nullable
nullableは、nullを許容するという意味です。
PHP(v7.1↑)だと、
パラメータや戻り値の型宣言で、nullable指定ができるようになりました。
nullable指定をすると、指定した型だけでなく null も渡せるようになります。
データ型の前にクエスチョンマークをつけると、nullable であることを指定できます。
例えば、アンケートの場合、回答を任意とすることができます。
<?php
function testReturn(): ?string
{
return 'elePHPant';
}
var_dump(testReturn());
function testReturn(): ?string
{
return null;
}
var_dump(testReturn());
function test(?string $name)
{
var_dump($name);
}
test('elePHPant');
test(null);
test();
参照
Discussion