Skocz do zawartości

Zdjęcie
- - - - -

Wyszukanie wyrazu z ciągu błąd


Najlepsza odpowiedź unbreak, 18 marca 2014 - 17:00

Tutaj to akurat możesz zrobić zupełnie inaczej, dużo łatwiej :)

<?php
$file_contents = file_get_contents("http://api.openweathermap.org/data/2.5/weather?q=Katowice,pl");

$array = json_decode($file_contents,true);

echo $array['main']['temp']; //285.58
?>

Masz dzięki temu też dostęp do wszystkich innych parametrów. Swoją drogą musisz ustawić żeby temperatura była w Celcjuszach, bo teraz są w ... nie wiem :P

 

Wystarczy że w urlu dasz units=metric:

$file_contents = file_get_contents("http://api.openweathermap.org/data/2.5/weather?units=metric&q=Katowice,pl");
Przejdź do postu


4 odpowiedzi w tym temacie
  • Zaloguj się, aby dodać odpowiedź
Semis

    Nowy użytkownik

  • 15 postów
    • Czas spędzony online: 2h 47m 23s
1
Neutralna
  • LocationSiemianowice Śląskie

Napisano 18 marca 2014 - 16:49

#1

siemka :) 

jestem nowy i nie za dużo ogarniam oglądałem temat 
http://web-talk.pl/t...iami-w-stringu/

ale dalej mam źle... 

 

zobacznie mam taki kod:

 

<?php
$file = file_get_contents("http://api.openweathermap.org/data/2.5/weather?q=Katowice,pl");


$newVariable = preg_replace('/^temp":(.+),"hum$/',"$1",$file);
 echo "<br>";echo "<br>";echo "<br>";echo "<br>";echo "<br>";echo "<br>";
echo $newVariable; //abcd;
?>
 
 
 
powinno mi wypisać : 
287.51 ale to zależy to jest temperatura.
 
a wyskakuje mi:
 

 

 







{"coord":{"lon":19.03,"lat":50.26},"sys":{"message":0.0361,"country":"Poland","sunrise":1395118189,"sunset":1395161629},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"cmc stations","main":{"temp":285.58,"humidity":55,"pressure":1013,"temp_min":285.15,"temp_max":285.93},"wind":{"speed":1.54,"gust":5.65,"deg":247},"clouds":{"all":80},"dt":1395155693,"id":3095971,"name":"Katowice","cod":200}

 

 


  • 0

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 18 marca 2014 - 17:00   Najlepsza odpowiedź

#2

Tutaj to akurat możesz zrobić zupełnie inaczej, dużo łatwiej :)

<?php
$file_contents = file_get_contents("http://api.openweathermap.org/data/2.5/weather?q=Katowice,pl");

$array = json_decode($file_contents,true);

echo $array['main']['temp']; //285.58
?>

Masz dzięki temu też dostęp do wszystkich innych parametrów. Swoją drogą musisz ustawić żeby temperatura była w Celcjuszach, bo teraz są w ... nie wiem :P

 

Wystarczy że w urlu dasz units=metric:

$file_contents = file_get_contents("http://api.openweathermap.org/data/2.5/weather?units=metric&q=Katowice,pl");

  • 1

webDeveloper


Semis

    Nowy użytkownik

  • 15 postów
    • Czas spędzony online: 2h 47m 23s
1
Neutralna
  • LocationSiemianowice Śląskie

Napisano 18 marca 2014 - 20:22

#3

bardzo dziękuję za podpowiedzi :)


  • 0

Semis

    Nowy użytkownik

  • 15 postów
    • Czas spędzony online: 2h 47m 23s
1
Neutralna
  • LocationSiemianowice Śląskie

Napisano 19 marca 2014 - 18:45

#4

Ok teraz pytanie jak wyciagnąć 'icon'?

 

 

próbowałem $array['weather']['icon'] ale nie działa nie ma icon 


  • 0

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 20 marca 2014 - 09:07

#5

W tym przypadku będzie to: $array['weather'][0]['icon'] - weather jest tablicą gdyby wyników dla podanej lokalizacji było więcej. W Polsce rzadko się zdarza żeby w jednym mieście było kilka stacji meteorologicznych .

 

Walnij sobie gdzieś:

print_r($array);

żeby zobaczyć całą zawartość i strukturę tej tablicy :)


  • 0

webDeveloper





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych