Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Rzutowanie na int
Forum PHP.pl > Forum > Przedszkole
amii
  1.  
  2. //pobranie danych z bazy
  3. foreach ($aukcje as $aukcja) {
  4.  
  5. $allegro_aukcja = allegro_aukcje::odczytaj($aukcja->id_allegro_aukcje);
  6. $tab['aukcja'][] = $allegro_aukcja->nr_aukcji;
  7. $tab['user'][] = $aukcja->id_uzytkownik_allegro;
  8. }
  9.  
  10.  
  11.  
  12. foreach ($tab as $k => $v) {
  13.  
  14.  
  15. foreach ($v as $kk => $vv) {
  16.  
  17. //$dane = $allegro->doGetPostBuyData(array(
  18. // 'sessionHandle' => $s,
  19. // 'itemsArray' => array($vv)
  20. //));
  21.  
  22. echo '<pre>';
  23. var_dump($vv . ' = ' . (int) $vv);
  24. echo '</pre>';
  25. }
  26.  
  27. }


var_dump mi wyświetla itd. to samo intval czemu różne wartości są zamieniane na tą samą 2147483647 przez intval i (int) ?
string(23) "4053342299 = 2147483647"
string(23) "4061476068 = 2147483647"

b4rt3kk
Liczba którą rzutujesz na int przekracza maksymalny zakres dla int.
irmidjusz
Uzupełniając: wykonujesz ten skrypt PHP na implementacji 32-bitowej, a na niej typ int może przyjąć maksymalną wartość właśnie 2147483647 i do takiej jest redukowana rzutowana liczba przekraczająca zakres (np. 4053342299). Jeśli chcesz, aby zmienna o typie int przyjęła taką wartość, uruchom program w środowisku 64-bitowym.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.