Ok, to idźmy od początku:
Odpalasz taki kod:
$apikey='xxx';
$apisecret='xxx';
$nonce=time();
$uri="strona";
$sign=hash_hmac('sha512',$uri,$apisecret);
$ch = curl_init($uri);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('apisign:'.$sign));
$execResult = curl_exec($ch);
W odpowiedzi na Twoje żądanie curl otrzymujesz taki json:
{"success":true,"message":"","result":[{"Name":"WWA","High":0.01001163,"Low":0.00928114,"SS":67732.95449843,"Last":0.00955998,"Volume":645.40161050,"Time":"2017-10-27T23:40:10.393","Now":0.00955998,"Now2":0.00956000,"Open":2477,"Orders":12637,"Prev":0.00939754,"Created":"2016-03-12T00:00:00"}]}
Ten json obrabiasz funkcją json_decode co w rezultacie daje Ci coś takiego:
Obróbka:
$obj = json_decode($execResult);
Rezultat:
stdClass Object
(
[success] => 1
[message] =>
[result] => Array
(
[0] => stdClass Object
(
[Name] => WWA
[High] => 0.01001163
[Low] => 0.00928114
[SS] => 67732.95449843
[Last] => 0.00955998
[Volume] => 645.4016105
[Time] => 2017-10-27T23:40:10.393
[Now] => 0.00955998
[Now2] => 0.00956
[Open] => 2477
[Orders] => 12637
[Prev] => 0.00939754
[Created] => 2016-03-12T00:00:00
)
)
)
Jak widzisz, rezultat zwraca obiekt stdClass w którym jest tablica result zwracająca listę obiektów. Do każdego z tych rezultatów o polu Name możesz więc się dostać w następujący sposób:
$obj->result[0]->Name // czyli obiekt o właściwości result, potem 1 pole z tego obiektu bo to tablica (daje nam obiekt) a następnie pole Name
Jeżeli wszystko jest tak jak opisałem i za każdym razem robisz wywołanie z curla (za każdym odświeżeniem strony np.) to nie ma siły, żebyś nie mógł dostać się do aktualnych rezultatów i ich pól w ten sposób.
Jeżeli dostajesz ostrzeżenie:
Trying to get property of non-object in C:\xampp\htdocs\index.php on line 12
to prawdopodobnie znaczy, że albo Twoja odpowiedź po zdekodowaniu nie jest obiektem albo że pierwszy element tablicy z result nie jest obiektem. A to możesz sam określić patrząc co zwraca Ci funkcja np. var_dump (jakie typy danych czym są)
object(stdClass)#1 (3) {
["success"]=>
bool(true)
["message"]=>
string(0) ""
["result"]=>
array(1) {
[0]=>
object(stdClass)#2 (13) {
["Name"]=>
string(3) "WWA"
["High"]=>
float(0.01001163)
["Low"]=>
float(0.00928114)
["SS"]=>
float(67732.95449843)
["Last"]=>
float(0.00955998)
["Volume"]=>
float(645.4016105)
["Time"]=>
string(23) "2017-10-27T23:40:10.393"
["Now"]=>
float(0.00955998)
["Now2"]=>
float(0.00956)
["Open"]=>
int(2477)
["Orders"]=>
int(12637)
["Prev"]=>
float(0.00939754)
["Created"]=>
string(19) "2016-03-12T00:00:00"
}
}
}
i jeżeli choć trochę jarzysz podstawy programowania w PHP to wtedy zobaczysz czy masz tam obiekt, tablicę czy jeszcze coś innego i jak się do tego dostać....