我有一段代码:
Math&&Math.random?Math.floor(Math.random()*10000000000000):Date.getTime();
据我所知&&是AND的逻辑运算符,所以我试图将其转换为PHP,这就是我得到的地方:
intval(floor(time()/10800000)%10+(rand()?floor(rand()*10000000000000):time()))
问题是我无法理解第一部分
Math&&
任何人都可以帮助解决这个原因我总是得到负面结果,当我应该得到肯定的时候(可能逻辑兰特时间在我的php示例中不起作用)
答案 0 :(得分:3)
这是确保Math类在浏览器中可用的测试。你在PHP中不需要它。第二个子句检查以确保Math.random方法可用。它使用它,如果它是,并使用时间,如果不是。
在PHP中,只需使用rand()。 http://us2.php.net/rand
答案 1 :(得分:1)
可能只是三元运算符会让你失望。
答案 2 :(得分:0)
这是测试Math
变量是否为非null
/ undefined
的测试。我以前从未见过它,但我认为如果由于某种原因,Math
是null
(尽管我无法想象为什么会发生这种情况)会阻止错误。
答案 3 :(得分:0)
在那里,您的Javascript代码是:
Math
对象是否存在
random
方法
在您的PHP代码中,您知道存在rand()
和mt_rand()
; 无需测试是否; - )
这意味着测试和条件无用,并且您不需要在PHP中重新编码它们:只需将部分保留在原始代码中的?
和:
之间。