Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dziwny przypadek, odczytywanie wartości pliku a wartość zmiennej
Forum PHP.pl > Forum > PHP
km4lin
Witam wszystkich,
proszę o pomoc, jakąkolwiek podpowiedź dlaczego rozwiązanie nr 1 działa a nr 2 nie.
Wersje różnią się jedynie pierwszą linijką.

Nr 1:
  1. $zawartosc = 3590292326
  2.  
  3. $response = $api->doGetSiteJournalDeals(array(
  4. 'sessionId' => $api->getSession(),
  5. 'journalStart' => $zawartosc,
  6. ));



Nr 2:
  1. $zawartosc = file_get_contents('plik.txt');
  2.  
  3. $response = $api->doGetSiteJournalDeals(array(
  4. 'sessionId' => $api->getSession(),
  5. 'journalStart' => $zawartosc,
  6. ));

Zawartość pliku plik.txt to dokładnie: 3590292326

Skrypt ignoruje zawartość pliku plik.txt, nie uwzględnia go.
Będę wdzięczny za jakąkolwiek pomoc w tej sprawie.
nospor
W pierwszy przypadku to liczba w drugim to tekst. To juz masz roznice.

A teraz pokaz jeszcze DOKLADNIE co zwraca

$zawartosc = file_get_contents('plik.txt');
var_dump($zawartosc);
km4lin
Otrzymuję:
string(10) "3590292326"
nospor
No to teraz sprobuj:

$zawartosc = (int)file_get_contents('plik.txt');

Nadal nie dziala?
km4lin
Zrobiłem tak:
  1. $zawartosc = (int)file_get_contents('plik.txt');
  2. var_dump($zawartosc);

I otrzymuję: int(2147483647)

Niestety nie sadsmiley02.gif

Aby kod działał musi to być wartość np. 3590292326

Zastanawia mnie dlaczego po przekonwertowaniu typu zmiennej otrzymuję zupełnie inną wartość...
nospor
Bo przekraczasz zakres INTa

daj

$zawartosc = 3590292326;
var_dump($zawartosc);
km4lin
Otrzymałem:
float(3590292326)
nospor
No to nie
$zawartosc = (int)file_get_contents('plik.txt');

a:
$zawartosc = (float)file_get_contents('plik.txt');
Pyton_000
to zamiast

(int)file_get_contents...

daj

(float)file_...
km4lin
Dzięki wielkie za pomoc!
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-2025 Invision Power Services, Inc.