連想配列(マップ/ハッシュ/ディクショナリ)が空かどうかを判定するには (isEmpty / empty / empty?)

連想配列(マップ/ハッシュ/ディクショナリ)が空かどうかを判定する方法。

関連

Java

Signature:

Scala

Signature:

これらはTraversableOnceのメソッドなので、SetSeqでも同じメソッドが使える。

PHP

if (empty($arr)) {
  echo "empty\n";
} else {
  echo "not empty\n";
}

$arr が配列でない場合でも、論理値に変換したときにFALSEになるものや、変数が定義されていない場合にはemptyの扱いになる。

-> 論理値への変換

PHPの連想配列は普通の配列と同じなのでemptyの使い方は同じ。

-> 配列が空かどうかを判定するには

empty 関数 | PHP Manual
http://php.net/manual/ja/function.empty.php

Python

ディクショナリはif文などの条件式に入れると、空のときに false、そうでないときに true の扱いになる。

-> 論理値への変換

Ruby / JRuby

ハッシュの empty? というメソッドを使う。

if hash.empty?
  puts "empty";
else
  puts "not empty";
end

Perl

ハッシュはif文などの条件式に入れると、空のときに false、そうでないときに true の扱いになる。

-> 論理値への変換

ハッシュでの例

if (%hash) {
    print "not empty\n";
} else {
    print "empty\n";
}

if (!%hash) {
    print "empty\n";
}

ハッシュへのレファレンスでの例

if (%$hash) {
    print "not empty\n";
} else {
    print "empty\n";
}

if (!%$hash) {
    print "empty\n";
}
このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。
スポンサーリンク