0

私はPHPで正規表現を使い始め、最初から立ち往生しました。

私は次のブロックを書きました:-

$object = "ng_amg_gt-1";

switch ($object)
{
    case preg_match('/^ng_amg_gt-[0-9]+$/', $object):
        echo 'first';    
        break;

    case preg_match('/^ng_amg_gt-_cg-[0-9]+$/', $object):
        echo 'second';
        break;

}

"ng_amg_gt-1" は preg_match('/^ng_amg_gt-[0-9]+$/', $object) に一致すると思っていましたが、興味深いことに (うっとうしいことに) second がエコーされています

私は何が欠けていますか?

PS :- 明らかな質問のように思えるかもしれませんが、ブレークスルーが得られないため、ここに投稿しました。

ありがとう

4

2 に答える 2

2

私が欠けているものは何ですか?

これがあなたが逃したものです:

$object = "ng_amg_gt-1";

if(preg_match('/^ng_amg_gt-[0-9]+$/', $object)) {
    echo 'first';
} else if(preg_match('/^ng_amg_gt-_cg-[0-9]+$/', $object)) {
    echo 'second';
}
于 2012-05-25T18:27:42.433 に答える
1

preg_match はパターン一致の数を返し、それを文字列と比較します

于 2012-05-25T18:29:02.670 に答える