2

メンバーID値のデータベースがあります。(常に8桁の長さ)メンバーがペイリストに含まれている場合、IDに「SI」プレフィックスが追加されます。

例えば:

John: 12345678

Jack: SI87654321

ここで、数値の先頭に「SI」があるかどうかをチェックする関数を作成したいと思います。(数値から「SI」を抽出するある種の正規表現)

yes-> return ID number(SIなし)の場合、YESラジオボタンがチェックされます。(checked = "checked")

そうでない場合->ID番号を返す場合、ラジオボタンはチェックされません。(checked = "checked")

例:

PHP:

$ID = get from database (for example: SI12345678)

function check () {return $pureNumber}

HTML:

<body>
<?php echo $pureNumber ?><br/>
<label for="dz1"><input type="radio" value="SI" name="davzav" id="dz1"/>YES(SI)</label>
<label for="dz2"><input type="radio" value="" name="davzav" id="dz1"/>NO</label>
</body>

ご協力いただきありがとうございます

4

3 に答える 3

5

最初の2文字を確認するだけです。

if( substr($id,0,2) == "SI") {
    $is_si = true;
    $id = substr($id,2);
}
于 2012-05-13T16:20:00.293 に答える
2

これには正規表現は必要ありません。

if (0 === strncmp($userid, 'SI', 2)) {
    echo "SI number: ", substr($userid, 2);
} else {
    echo "Not SI number: ", $userid;
}
于 2012-05-13T16:21:18.810 に答える
1

正規表現を使用してこれを1行で実行する場合は、次のコードで数値が返されます。

$result = preg_replace("/^SI/", '', $in,  1);

次に、$result値を$in値と比較します。

if ($result != $in) { checked = "checked";}
于 2012-05-13T16:39:23.443 に答える