JS anlamaya yardımcı

4 Cevap php

Ben kodu thos parça var:

Math&&Math.random?Math.floor(Math.random()*10000000000000):Date.getTime();

Ve bildiğim kadarıyla && mantık için operatör VE, böylece PHP içine bu dönüştürmek için çalışıyor im ve i got bu nerede:

intval(floor(time()/10800000)%10+(rand()?floor(rand()*10000000000000):time()))

Sorun i ilk kısmını anlayamıyorum olduğunu

Math&&

Herkes i her zaman olumsuz sonuç almak bu bir neden ile yardımcı olabilir, ben pozitif almalısınız zaman (muhtemelen mantık rand-time benim php örnekte çalışmıyor)

4 Cevap

Bu Math sınıfı tarayıcıda kullanılabilir olduğundan emin olmak için bir test. PHP bu gerekmez. İkinci fıkra Math.Random yöntemi kullanılabilir olduğundan emin olmak için denetler. Bu ise onu kullanır, ve eğer değilse zaman kullanır.

PHP, sadece rand () kullanın. http://us2.php.net/rand

Bu sadece seni atma üçlü operatör olabilir.

http://en.wikipedia.org/wiki/Ternary_operation

Bu Math değişken olmayan olup olmadığını görmek için bir test null / undefined. Ben daha önce hiç görmedim, ama nedense, bir hata varsa önlemek için olduğunu varsayalım (ki olur, neden ben düşünemiyorum, rağmen), Math null olduğunu .

Orada, senin Javascript kodu:

  • Testing if the Math object exists
    • ve has a random yöntemi
  • Eğer evet ise, rasgele bir değer üretmek için kullanıyor
  • başka, rasgele bir değer elde etmek için son çare olarak tarihini kullanarak


In you PHP code, you know that rand() and mt_rand() exist ; no need to test if they do ;-)

Hangi testleri ve koşul yararsız olduğu anlamına gelir, ve PHP yeniden kod onlara gerek yok: sadece orijinal kodu ? ve : arasındaki bölümünü tutmak .