gmp_hamdist()
(PHP 4 >= 4.0.4, PHP 5, PHP 7)
Hamming distance
说明
gmp_hamdist(GMP$a, GMP$b): int
Returns the hamming distance between$aand$b. Both operands should be non-negative.
参数
- $a
 可以是一个 GMP数据resouce,或一个可以转换为数值的字符串。
It should be positive.
- $b
 可以是一个 GMP数据resouce,或一个可以转换为数值的字符串。
It should be positive.
返回值
GMP 数值资源.
范例
gmp_hamdist() example
<?php
$ham1 = gmp_init("1001010011", 2);
$ham2 = gmp_init("1011111100", 2);
echo gmp_hamdist($ham1, $ham2) . "\n";
/* hamdist is equivalent to: */
echo gmp_popcount(gmp_xor($ham1, $ham2)) . "\n";
?>
以上例程会输出:
6 6
参见
gmp_popcount()Population countgmp_xor()Bitwise XOR
For those without gmp support : $hamming_distance = count(array_diff_assoc(str_split($string1), str_split($string2))); And if you are not sure if your strings have equal length : $hamming_distance = count(array_diff_assoc(str_split(str_pad($string1,strlen($string2)-strlen($string1),' ')), str_split(str_pad($string2,strlen($string1)-strlen($string2),' '))));
