试图弄清楚这究竟是什么以及如何将其转换为Coldfusion标签:
$result |= ord($built{$i}) ^ ord($signature{$i});
我想我很接近:
<cfset result = BitOr(ASC(built[i]),ASC(ARGUMENTS.signature[i])) />
=
错了,但我在PHP文档中找不到|=
到底在做什么。built
和signature
是字符串,php代码使用{$i}
,我不明白为什么。BitOr
是否正确,或者我是否应该使用其他功能之一。任何人都想验证我在做什么,并提供有关我可能出错的地方的见解?
答案 0 :(得分:1)
试试这个:
<cfset result = BitOr(result, BitXor(ASC(built[i]),ASC(ARGUMENTS.signature[i]))) />
^
是xor运算符,而不是or运算符。此外,在PHP(以及许多其他语言)中,x |= y
表示与x = x | y
相同(x += y
表示与x = x + y
相同,依此类推。)