我对php的modulo一定不太了解。我得到了一个奇怪的结果。
echo (-38 % 26); results in -12
这对我来说似乎是正确的答案。谷歌计算器正在返回14.这是我正在进行的练习的正确答案。
该怎么做?
答案 0 :(得分:2)
摘自arthimetic上的PHP手册:
模数运算符
%
的结果与被除数的符号相同 - 也就是说,$a % $b
的结果与$a
的结果相同。
各种语言定义余数将采用不同的符号(例如,Python将使用除数,而PHP使用除数。)您可以在wikipedia上阅读更多关于它的信息。
答案 1 :(得分:0)
您需要使用
echo ((-38 + 26) % 26);
您可以根据需要制作一个与正负$ a一起使用的函数:
function modulo($a, $b) { return ($a + $b) % $b; }