1
function mystery($y, $m, $d) {
$a = 0;
$b = 0;
$c = 0;
if($m < 3) {
$a = $m + 10;
$b = ($y-1) % 100;
$c = ($y-1)/100;
}
else {
$a = $m - 2;
$b = $y % 100;
$c = $y/100;
}
$w = (700 + (((26*$a)-2)/10)+$d+$b+$b/4+$c/4-(2*$c))%7;
echo $w;
}
我的一個教程問題詢問函數計算的是什麼。我可以通過並解釋每一次計算,但我相信這不是我們所期望的。有沒有明顯的用處我沒有看到?這段代碼做了什麼?
它看起來對我來說,這可能是一個校驗算法,因爲它似乎總是介於0和6
PS,它最初用Java編寫的,以產生一個數字,但我把它移植到PHP爲簡單起見,當我將它輸入到我的電腦中進行測試。如果有人願意,我可以重新輸入Java版本。
您測試了一些輸入嗎?例如今天的日期? – 2010-10-24 10:16:29
哦,我認爲是的,是的。 0 - > 6的值是一週中的一天!謝謝! – Matt 2010-10-24 10:16:57
@Marcelo - 變量Y M D應該是一個贈與。我甚至沒有注意到。 grr – mellowsoon 2010-10-24 10:20:49