数字を含み、「-」で分割されたデータの行があります。sthは次のようになります。2012-421-020-120407ここで、phpコードのこの文字列の最後にパリティ桁(0または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