Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodawanie zmiennych z json
Forum PHP.pl > Forum > PHP
Fixero
Witam, mam mały problem ponieważ nie potrafię dodać cholernej jednej zmiennej do siebie.

  1. $json_id = file_get_contents('http://steamcommunity.com/market/priceoverview/?country=PL&currency=3&appid=730&market_hash_name='.$url6.'');
  2. $data_id = json_decode($json_id);
  3. $value_euro1 = $data_id->{'lowest_price'};


W zmiennej $value_euro1 jest 7 wartości. np. 0.03, 0.04, 0.20, 0.10, 0.04, 0.01, 0.09
Chciałbym je dodać do siebie, lecz nie potrafię.

Próbowałem arrayem, lecz jest to 7 oddzielnych arrayów.
lub wyskakują dziwne errory.
Turson
  1. echo '<pre>';
  2. print_r($value_euro1);
  3. echo '</pre>';

pokaż rezultat
Fixero
  1. 0,03
  2. 0,03
  3. 0,03
  4. 0,23
  5. 0,04
  6. 0,16
  7. 0,03
Turson
Ja tu nie widzę żadnej tablicy. Na pewno to tak wygląda?
Fixero
Nie da się tego zsumować?

Dane są wyciągane z linków takich jak ten http://steamcommunity.com/market/priceover...20Winter%20Case
7 różnych przedmiotów z ekwipunku i 7 różnych cen, i próbuję to zsumować.

Turson
Da się, da. Musisz wyciągnąć samą liczbę bez waluty, zamienić przecinek na kropkę i zsumować.
Np:
  1. $liczba= '1,50?';
  2. preg_match('#(.*)?#',$liczba,$matches);
  3. $liczba1 = str_replace(',','.', $matches[1]);

i zsumować ceny

najlepiej wrzucać każdą kolejną liczbę do tablicy i potraktować to pętlą
Fixero
Za cena, mam podstawić $euro_value1?

Tylko, że te ceny się zmieniają - jak mam je wyciągnąć z jednej zmiennej. Coś mi się wydaje, że to jest 7 zmiennych w tej samej nazwie biggrin.gif
Turson
Owszem...
Fixero
  1. preg_match('#(.*)€#',$value_euro1,$matches);
  2. $cena1 = str_replace(',','.', $matches[1]);
  3.  
  4. echo $cena1;


Wynik, pusty. Tu nie ma sumowania, a nie potrafię go wykonać.
Turson
A znasz matematykę i wiesz jak wygląda znak dodawania?
Żeby coś dodać, to musisz mieć przynajmniej 2 wartości, więc albo będziesz pisał 10 razy ten sam kod dla różnych liczb, co pobierasz, albo ułatwisz to sobie pętlą jak wspomniałem
Fixero
Jakbyś mógł to napisz mi ten kod i mnie nie obrażaj, bo pewnie znam się lepiej na matmie jak nie jeden na tym forum wink.gif
Turson
Napisałeś, że nie umiesz dodać to co miałem pomyśleć.
Masz w końcu w $value_euro1 jedną czy siedem wartości?
W linku widzę taką jedną, napisałeś, że masz 7
Fixero
  1. $json_id = file_get_contents('http://steamcommunity.com/market/priceoverview/?country=PL&currency=3&appid=730&market_hash_name='.$url6.'');


$url6 - to nazwa przedmiotu
Jak jakiś gościu ma 6 przedmiotów
To ma 6 wyników w zmiennej $value_euro1

W naszym przypadku 7
Turson
Przykład
  1. $sth = "0,03e
  2. 0,03e
  3. 0,03e
  4. 0,23e
  5. 0,04e
  6. 0,16e
  7. 0,03e";
  8. $liczby = explode("\n", $sth);
  9.  
  10. $ile = 0;
  11. foreach($liczby as $v){
  12. preg_match('#(.*)e#',$v,$matches);
  13. $liczba = str_replace(',','.', $matches[1]);
  14. $ile = $ile+$liczba;
  15. }
  16. echo $ile;
Fixero
  1. foreach($value_euro1 as $v){
  2. preg_match('#(.*)e#',$v,$matches);
  3. $liczba = str_replace(',','.', $matches[1]);
  4. $ile = $ile+$liczba;
  5. }
  6. echo $ile;


Warning: Invalid argument supplied for foreach() in C:\WebServ\httpd\decode\players\walle_ekwipunek.php on line 39

Warning: Invalid argument supplied for foreach() in C:\WebServ\httpd\decode\players\walle_ekwipunek.php on line 39

Warning: Invalid argument supplied for foreach() in C:\WebServ\httpd\decode\players\walle_ekwipunek.php on line 39

Warning: Invalid argument supplied for foreach() in C:\WebServ\httpd\decode\players\walle_ekwipunek.php on line 39

Warning: Invalid argument supplied for foreach() in C:\WebServ\httpd\decode\players\walle_ekwipunek.php on line 39

Warning: Invalid argument supplied for foreach() in C:\WebServ\httpd\decode\players\walle_ekwipunek.php on line 39

Warning: Invalid argument supplied for foreach() in C:\WebServ\httpd\decode\players\walle_ekwipunek.php on line 39

Udało mi się, tylko nie wiem jak zrobić pętlę do dodawania:
$wartosc = $test[0] + $test[1] + $test[2] + $test[3] + $test[4];
I tak wkółko
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.