• 04-04-2014, 18:57:28
    #1
    Arkadaşlar tuhaf bi sorunum var.
    string ve time() birleşimini integer olarak almak istiyorum. String olarak almak istediğim sonucu alıyorum ama bi türlü integera çeviremedim. Yardımcı olursanız sevinirim.

    $s = "25";
    $t = time();
    $x = $s.$t;
    echo $x."<br/>";
    echo intval($x);
    echo "<br/>";
    echo (int)$x;
    echo "<br/>";
    /*çıktı
    251396626870
    2147483647
    2147483647
    */
    Ulaşmak istediğim değer ilk satırdaki değer ama integer olarak lazım.
    .
    .
  • 04-04-2014, 19:22:35
    #2
    dark_way adlı üyeden alıntı: mesajı görüntüle
    Ulaşmak istediğim değer ilk satırdaki değer ama integer olarak lazım.
    Sorun sayınızın 32-bit değerini aşması. Eğer int değerini kullanmanız şart ise 64-bit'lik bir mimari üzerinde PHP kodlarınızı çalıştırmanız gerekli. Böyle bir imkanınız yoksa sayınızı float olarak değerlendirebilirsiniz.

    echo (float)$x
  • 04-04-2014, 19:30:04
    #3
    integer maksimum değer = 2147483647
    
    2147483647 + 2147483647 = (float) 4294967294 olarak dönüşür.
    
    echo (float)$x; // 251396626870 olarak dönüşüm yapabilirsiniz.
    Arkdaş daha önce yanıt vermiş gereksiz oldu.
  • 04-04-2014, 19:30:37
    #4
    Teşekkürler.

    Mongodb ile çalışıyorum ve mongodb ObjectId(string) şekline bi id üretiyor. Benim yapmak istediğim idyi kendim girmek ve integer olmasını istiyorum.

    Aslında yapmak istediğim şey tam olarak şuydu;
    $yeniid = $_SESSION['uye']['id'].time();
    auto increment şeklinde de yapmak mümkün ama her insertten önce fazladan bi sorgu yapmam gerekyior ki bunu hiç istemiyorum.

    Bu id üyelerin ilan gireceği tabloda kullanılacak. Benzersiz id üretmek için her fikre açığım.

    Tekrar teşekkürler.
    .
    .