0

$_REQUESTに基づいて KEY を取得するにはどうすればよいでしょうかpreg_match$_REQUEST値は15h56の値を保持します

現在$_REQUESTS使用している

foreach ($_REQUEST as $k => $v) {
    $a[] = "$k=$v";
}
$ref_val = implode("&", $a);

したがって、基本的には、キーが動的に生成されるため、このデータ15h56を保持する $_REQUEST KEY を決定しようとしています。

私は次のことを試しました

if(preg_match("/[0-9]n([0-9]+)[=]?(.*)$/", $ref_val, $matches)) {
$the_key_i_need = $matches[1];
4

1 に答える 1

2

なぜ使用するのですか-配列にpreg_match()データがあります。使用するだけです:$_REQUESTarray_search()

$key = array_search( '15h56', $_REQUEST, true);

あなたが次の$_REQUESTように見えた場合:

array( 'something_unknown_here' => '15h56')

次に、を実行した後$keyに等しくなります。something_unknown_herearray_search()

編集:明確にした後、値は不明であるように見えますが、パターンに一致します。したがって、次のように、繰り返して$_REQUESTキーを見つけることができます。

$found_key = null;
foreach ($_REQUEST as $k => $v) {
    if( preg_match( '#\d+h\d+#', $v)) {
        $found_key = $k;
        break;
    }
}

これで、パターンに一致する値がにないことを示す、、またはへのキーである値のいずれかに$found_keyなります。これは、値がパターンに一致する最初のキーのみを検索することに注意してください。null$_REQUEST$_REQUEST

于 2013-01-10T21:34:23.197 に答える