2009-06-07 6 views
0

Je veux convertir une ligne C# pour PHP, mais il ne fonctionne pas (le résultat est le même):Convert C# ligne pour PHP

C#:

PHP:

Quelqu'un sait comment faire cela?

Merci

+1

Si vous incluez les valeurs de chaque expression plutôt que de nous laisser deviner, yo Votre question serait meilleure. – tvanfosson

Répondre

1

Ce code devrait renvoyer le même résultat.

Le seul problème que je peux penser est que le type de données à l'intérieur de "$ header [$ i]" est une chaîne et non un nombre entier. Cela provoque PHP pour analyser le code ASCII d'en-tête de $ [$ i] au lieu de la valeur qu'il est censé représenter:

Résultat recherché:

$xorKey = 16909060; 
$data = 1337; 

$data = ((16 * ($xorKey^(~$data & 0xFF))) 
       | (($xorKey^(~$data & 0xFF)) >> 4)) & 0xFF; 

echo $data; // int 60 

Alors que l'aide d'un résultat de chaîne dans les domaines suivants:

$xorKey = 16909060; 
$data = '1337'; // HERE BE DRAGONS 

$data = ((16 * ($xorKey^(~$data & 0xFF))) 
       | (($xorKey^(~$data & 0xFF)) >> 4)) & 0xFF; 

echo $data; // int 112 

pour remédier à ceci:

$xorKey = 16909060; 
$data = '1337'; 

$data = intval($data); // Parse this string as an integer. 

$data = ((16 * ($xorKey^(~$data & 0xFF))) 
       | (($xorKey^(~$data & 0xFF)) >> 4)) & 0xFF; 

echo $data; // int 60 
+0

Merci. Je l'ai réécrit après avoir demandé ici et le problème était parti: D. –