Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dodawanie zmiennych z json
Fixero
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.06.2014

Ostrzeżenie: (0%)
-----


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.

Ten post edytował Fixero 30.06.2014, 18:39:20
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


  1. echo '<pre>';
  2. print_r($value_euro1);
  3. echo '</pre>';

pokaż rezultat
Go to the top of the page
+Quote Post
Fixero
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.06.2014

Ostrzeżenie: (0%)
-----


  1. 0,03
  2. 0,03
  3. 0,03
  4. 0,23
  5. 0,04
  6. 0,16
  7. 0,03
Go to the top of the page
+Quote Post
Turson
post
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


Ja tu nie widzę żadnej tablicy. Na pewno to tak wygląda?

Ten post edytował Turson 30.06.2014, 19:26:09
Go to the top of the page
+Quote Post
Fixero
post
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.06.2014

Ostrzeżenie: (0%)
-----


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ć.



Ten post edytował Fixero 30.06.2014, 19:27:48
Go to the top of the page
+Quote Post
Turson
post
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


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ą

Ten post edytował Turson 30.06.2014, 19:40:15
Go to the top of the page
+Quote Post
Fixero
post
Post #7





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.06.2014

Ostrzeżenie: (0%)
-----


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

Ten post edytował Fixero 30.06.2014, 19:43:25
Go to the top of the page
+Quote Post
Turson
post
Post #8





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


Owszem...
Go to the top of the page
+Quote Post
Fixero
post
Post #9





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.06.2014

Ostrzeżenie: (0%)
-----


  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ć.
Go to the top of the page
+Quote Post
Turson
post
Post #10





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


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

Ten post edytował Turson 30.06.2014, 19:46:51
Go to the top of the page
+Quote Post
Fixero
post
Post #11





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.06.2014

Ostrzeżenie: (0%)
-----


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

Ten post edytował Fixero 30.06.2014, 19:48:07
Go to the top of the page
+Quote Post
Turson
post
Post #12





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Fixero
post
Post #13





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.06.2014

Ostrzeżenie: (0%)
-----


  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

Ten post edytował Fixero 30.06.2014, 19:55:30
Go to the top of the page
+Quote Post
Turson
post
Post #14





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


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;
Go to the top of the page
+Quote Post
Fixero
post
Post #15





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.06.2014

Ostrzeżenie: (0%)
-----


  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
Go to the top of the page
+Quote Post
Turson
post
Post #16





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


http://php.net/manual/en/function.array-sum.php
Go to the top of the page
+Quote Post

Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 11:13