分かりやすく、使いやすく。

変数の値が NULL かを判定する方法

スポンサーリンク

PowerShell で変数が NULL かを判定するには -eq $null とします。

  1. 変数が NULL かを確認する方法
  2. 文字列が NULL または空文字かを確認する方法
  3. 配列が NULL かを確認する方法


変数が NULL かを確認する方法

サンプルコードは次の通りです。

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
# 値をセットしないと NULL になる。
$a;
 
if($a -eq $null)
{
    Write-Host '変数は NULL です。';
}
else
{
    Write-Host '変数は NULL ではありません。';
} 

上記の実行結果は次の通りです。

変数は NULL です。 

文字列が NULL または空文字かを確認する方法

文字列の場合、 NULL に加えて空文字かも一緒に確認するには IsNullOrEmpty メソッドを使用します。サンプルコードは次の通りです。

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ary_str = @('abc', $null, 'def', '', 'ghi');
 
foreach($str in $ary_str)
{
    if([string]::IsNullOrEmpty($str))
    {
        # NULL や '' の場合はこちら。
        Write-Host 'NULL or Empty';
    }
    else
    {
        # 上記以外は設定された文字列を出力
        Write-Host $str;
    }
}  

上記の実行結果は次の通りです。

abc
NULL or Empty
def
NULL or Empty
ghi  

配列が NULL かを確認する方法

配列を格納する変数が NULL かを調べる場合、左辺に $null を記述する必要用があります。理由についてはif($array -eq $null) には要注意!を参照してください。サンプルコードは次の通りです。

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 値をセットしないと NULL になる。
$a;
 
# 左辺に $null を持ってくる。
if($null -eq $a)
{
    Write-Host '変数は NULL です。'; # こっちにくる。
}
else
{
    Write-Host '変数は NULL ではありません。';
}
 
# NULL を格納した配列を作成
$b = @($null, $null);
 
if($null -eq $b)
{
    Write-Host '変数は NULL です。';
}
else
{
    Write-Host '変数は NULL ではありません。'; # こっちにくる。
} 

実行結果は次の通りです。

変数は NULL です。
変数は NULL ではありません。 
スポンサーリンク
スポンサーリンク