Excel には AREAS() というワークシート関数があるのですが 使い方がややこしいので説明を書いてみました。
通常、COUNT() などのワークシート関数では 次のように複数の範囲をカンマで区切って使用することができます。
同じ範囲指定を AREAS() にも適用してみます。
(カッコを二重にします)
2 が返りました。
この AREAS() ワークシート関数は、引数の範囲指定に 何個の「範囲」が指定されたかを返してくれるわけです。
これだけだと使い道がよくわからないので、 さきほどと同じ範囲指定に、次のように名前を付けます。
今度は引数に名前を指定します。
(この場合は二重カッコは不要です)
当然、結果はさきほどと同じ値が返ります。
このように AREAS() ワークシート関数を使うと 範囲指定が見えないときに範囲の数を判定することができるわけです。
PHP には strcasecmp() という大文字・小文字を無視して比較できる関数があります。
この関数、真偽値を返すのではなく、『str1 が str2 より小さい場合は負、str1 が str2 より大きい場合は正、等しい場合は 0 を返します。』というものなので 次のような使い方をすると結果が逆になってしまいます。
if (strcasecmp('aaaa', 'AAAA')) {
...
等しい場合が 0 なので FALSE 扱いになるわけです。 一致していることを判定するには、次のように 0 と比較するか、否定します。
if (strcasecmp('aaaa', 'AAAA') == 0) { ... if ( ! strcasecmp('aaaa', 'AAAA')) { ...
ただ、否定だとあとで意味を取り違えることがあるかもしれないので 0 で比較する方が良いと思います。