0

私は数字の配列を持っています、例えば:

10001234
10002345

これで番号ができました。これは、配列内のすべての番号と一致する必要があります。数値は10001234(一致しやすい)のいずれかですが、たとえば100001234(3ではなく4つのゼロ)または101234(3ではなく1つのゼロ)にすることもできます。任意の組み合わせが可能です。唯一の固定部分は最後の1234です。

1000123456のように、3、5、または6 ...になる可能性があるため、最後の4文字を取得できません。

それに合わせる良い方法は何ですか?多分それは簡単で、私は木のために木を見ません:D。

ありがとう!

4

3 に答える 3

2

常に最初の数字が1の場合、これを使用できます

$Num=1000436346;
echo(int)ltrim($Num."","1");

出力:

436346
于 2013-02-04T14:03:34.950 に答える
0
$number % 10000

数値を 10000 で割った余りを返します。つまり、最後の 4 桁です。

于 2013-02-04T14:02:11.943 に答える
0

この質問は、一致の基準を明確にするものではありません。しかし、私はそれをやってみます。

まず、私の仮定:

  • 番号は常に a で始まり、1その後に不明な数の0s が続きます。

  • その後、文字列から抽出したい任意の数字のシーケンスがあります (ただし、おそらくゼロから始まっていませんか?)。

上記を考えると、かなり簡単に式を定式化できます。

$input='10002345';
if(preg_match('/10+(\d+)/',$input,$matches)) {
     $output = $matches[1];
}

$output番号の 2 番目の部分が含まれるようになりました2345

先頭1\d. ここで複数の数字を許可するために、その後にプラス記号を追加します (ただし、数字の最初の部分と 2 番目の部分の間に少なくとも 1 つのゼロがあることにまだ依存しています)。

$input='10002345';
if(preg_match('/\d+0+(\d+)/',$input,$matches)) {
     $output = $matches[1];
}
于 2013-02-04T14:15:05.463 に答える