在PHP中混淆了Modulo的结果

时间:2014-02-26 15:54:24

标签: php

相当新的PHP,并且在学习的过程中遇到过这个问题,我理解它使用公式将日期转换为1-11的整数(然后将数字分配给中国的生肖) 我不知道它是如何从给出的公式得出一个整数,虽然任何人都可以解释会很好吗?

<?php

$year = 2013;
    switch (($year - 4) % 12) {
        case  0: $zodiac = 'Rat';   break;
        case  1: $zodiac = 'Ox';        break;
        case  2: $zodiac = 'Tiger';     break;
        case  3: $zodiac = 'Rabbit';    break;
        case  4: $zodiac = 'Dragon';    break;
        case  5: $zodiac = 'Snake';     break;
        case  6: $zodiac = 'Horse';     break;
        case  7: $zodiac = 'Goat';      break;
        case  8: $zodiac = 'Monkey';    break;
        case  9: $zodiac = 'Rooster';   break;
        case 10: $zodiac = 'Dog';       break;
        case 11: $zodiac = 'Pig';       break;
    }
    echo "{$year} is the year of the {$zodiac}.<br />";


?>

答案是2013年是Snake的一年。

3 个答案:

答案 0 :(得分:0)

使用计算器

2013-4=2009
2009/12= 167.41666
167*12=2004
2009-2004=5 (5 is snake which was the animal for 2013)

答案 1 :(得分:0)

-4可能是将年份与中国十二生肖日历保持一致的价值。

答案 2 :(得分:-1)

这很简单。

%操作数给出了一个分区的剩余部分。

的示例:

13%12 = 1

5%3 = 2

我希望它足够清楚。