0

経由でアクセスされる配列があります$request(これは と同じではありません$_REQUEST)。配列print_rは次のようになります

Array
(
    [num_days] => 30
    [customer_id] => 5
)

num_daysキーが存在する場合と存在しない場合があります (いくつでもかまいません)。キーが存在するかどうかをテストする必要があります。私はこれを試しました:

if(array_key_exists($request['num_days'], $request)) {
    echo "num_days exists";
}
else {
    echo "num_days doesn't exist";
}

これは常に他にヒットします。私はこれを間違っていますか?num_days はキーと見なされませんか? そうでない場合、その要素の存在をテストするにはどうすればよいですか (要素の値ではなく、存在するかどうか)。

4

2 に答える 2

2

またはのいずれarray_key_exists('num_days', $request)かを使用isset($request['num_days'])

あなたがしていることは間違っており、その配列要素の値がキーとして存在するかどうかを確認するだけです。

于 2013-01-15T16:11:20.943 に答える
1

あなたのしたことは間違っている

array_key_exists — 指定されたキーまたはインデックスが配列に存在するかどうかを確認します

array_key_exists を使用したコード 続きを読む

if(array_key_exists('num_days', $request)) {
    echo "num_days exists";
}
else {
    echo "num_days doesn't exist";
}

isset を使用した代替方法 続きを読む

   if(isset($_REQUEST['num_days'])) {
        echo "num_days exists";
    }
    else {
        echo "num_days doesn't exist";
    }
于 2013-01-15T16:13:32.333 に答える