PHPで2つの数字の組み合わせから一意の数字を生成する方法は? たとえば、これら 2 つの数字の組み合わせ。68 と 73 は X を生成します ( X は固有の番号です)。組み合わせ番号の順序は関係ありませんが、同じ一意の番号を生成する必要があります。例: (68,73)=X または (73,68)=X または (1,2)=Y または (2,1)=Y の組み合わせ、Y は (一意であるため) X とは異なる数値です。
さらに情報が必要な場合はお知らせください。
この問題は私の問題と似ていると思いますが、C# で書かれています。
このコードを PHP に変換しました:
function getUnique($x, $y){
if($x>$y){
return $y | $x << 32;
} else{
return $x | $y << 32;
}
}
$list = array();
for($i=0 ; $i<100 ;$i++){
$x = rand(1,10); // I just put any random numbers from 1 to 10 so that I can read it easily.
$y = rand(1,10);
$unique = getUnique($x, $y);
$list[$i] = '('.$x.','.$y.')='.$unique;
}
//Find out the results
foreach($list as $ans){
echo $ans.'<br>';
}
ただし、一意の番号は生成されません。この結果の例:
(2,9)=11
(10,1)=11
(2,9) は (10,1) とは異なる数値を生成する必要があります。