1

我有一行数据,其中包含数字并按“-”拆分,如下所示: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 回答