Попытка выяснить, что именно это делает и как преобразовать его в Coldfusion Tags:
$result |= ord($built{$i}) ^ ord($signature{$i});
Я думаю, что я близко
<cfset result = BitOr(ASC(built[i]),ASC(ARGUMENTS.signature[i])) />
=
неправильно, но я не могу найти в документации PHP, что именно |=
делается.built
а также signature
являются строками, а PHP-код использует {$i}
и я не понимаю почему.BitOr
правильно или если я должен использовать одну из других функций.Кто-нибудь хочет подтвердить, что я делаю, и дать понять, где я могу пойти не так?
Попробуй это:
<cfset result = BitOr(result, BitXor(ASC(built[i]),ASC(ARGUMENTS.signature[i]))) />
^
является оператором xor, а не оператором или. Кроме того, в PHP (и куче других языков), x |= y
означает так же, как x = x | y
(а также x += y
означает так же, как x = x + y
и так далее).
Других решений пока нет …