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),' '))));