2010/01/04

PHP : 配列要素のNULLチェック

PHPで配列の要素にNULLが含まれていないかをチェックする方法です。
(C#の場合はこちら

foreachループ内で配列要素を1つ1つチェックすることも可能ですが、
in_array関数を使うと1回の関数呼び出しで配列要素すべてをNULLチェックすることができます。

使い方:
in_array( NULL, 対象の配列, TRUE );
のようにin_array関数でNULLを検索して、戻り値がTRUEの場合はNULLが含まれています。

テストコード:
<?php
//
// 配列の中にNULLが含まれているかのチェック
//

//チェック対象の配列
$params = array(1, 2, NULL, 3);

// 配列の要素をまとめてNULLチェック
$result = in_array(NULL, $params, TRUE); // NULLチェック 戻り値TRUEでNULL有り
if($result){
    print "NULLあり\n";
} else {
    print "NULLなし\n";
}
?>

$_POST/$_GETやデータベースから取得した値等、外部からのデータの配列にNULLが含まれていないかチェックする場合に便利です。