PHP 8.0.3 Released!

gmp_hamdist

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_hamdistDistance de Hamming

Description

gmp_hamdist ( GMP|int|string $num1 , GMP|int|string $num2 ) : int

Retourne la distance de Hamming entre num1 et num2. Les deux paramètres doivent être strictement positifs.

Liste de paramètres

num1

Un objet GMP, un entier, ou une chaîne de caractères numérique.

Doit être positif.

num2

Un objet GMP, un entier, ou une chaîne de caractères numérique.

Doit être positif.

Valeurs de retour

La distance de Hamming entre num1 et num2, sous la forme d'un int.

Exemples

Exemple #1 Exemple avec gmp_hamdist()

<?php
$ham1 
gmp_init("1001010011"2);
$ham2 gmp_init("1011111100"2);
echo 
gmp_hamdist($ham1$ham2) . "\n";

/* hamdist est équivalent à : */
echo gmp_popcount(gmp_xor($ham1$ham2)) . "\n";
?>

L'exemple ci-dessus va afficher :

6
6

Voir aussi

add a note add a note

User Contributed Notes 1 note

up
3
Bas Vijfwinkel
2 years ago
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),' '))));
To Top