1

数字を含み、「-」で分割されたデータの行があります。sthは次のようになります。2012-421-020-120407ここで、phpコードのこの文字列の最後にパリティ桁(0または1)を生成します。 。しかし、私はそれをどのように行うのか分かりません。

前もって感謝します

4

1 に答える 1

1

数値がある場合は、を使用%して、数値が2で割り切れるかどうかを判断します。割り切れる場合は偶数です。そうでなければ、それは奇妙です。その結果からパリティを収集します。

$numbers = "2012-421-020-120407";
$numbers_array = explode( "-", $numbers );

print_r( $numbers_array ); // [0]=>2012 [1]=>421 [2]=>020 [3]=>120407

foreach ( $numbers_array as &$number )
  $number .= ( $number % 2 == 0 ) ? 0 : 1 ;

print_r( $numbers_array ); // [0]=>20120 [1]=>4211 [2]=>0200 [3]=>1204071

数値の合計のパリティが必要な場合は、次のことを試すことができます。

$numbers = "2012-421-020-120407";
preg_match_all( "/[0-9]+/", $numbers, $matches );

$parity = array_sum( $matches[0] ) % 2 ;

echo $parity; // Outputs 0 or 1
于 2012-04-07T07:00:56.247 に答える