Pages

2009年10月6日火曜日

PHP 配列キーに含まれるかのチェック方法について

▽通常下記のようにすると思いますが、

$hoge = array(
    '01' => '北海道',
    '02' => '青森',
    '03' => '岩手',
    '04' => '新潟'
);

if( !@array_key_exists('01', $hoge) ) {
    die ('NG');
} else {
    die('OK');
}


▽下記のような書き方をしていると全く違った結果となります。。。


$hoge = array(
    '01' => '北海道',
    '02' => '青森',
    '03' => '岩手',
    '04' => '新潟'
);

if( !@in_array('1', array_keys($hoge)) ) {
    die ('NG');
} else {
    die('OK');

}
2つ目のような方法だと

1
'1'
'000001'

どれでもOKになってしまいます…。

※in_array()の第3引数に下記のようなものが用意されているので、これを指定すればいけます。
三番目のパラメータ strictTRUE に設定された場合、 in_array() は、haystack の中の needle の 型も確認します。

0 件のコメント:

コメントを投稿

Followers