2015-11-11 2 views
0

Как я могу получить определенное значение из следующего результата API:Получение значения из API

{ 
    "status": "success", 
    "data": { 
     "prices" : [ 
      { 
       "market_hash_name": "Glock-18 | Catacombs (Minimal Wear)", 
       "price": "0.08" 
      } 
     ] 
    } 
} 

Я пытаюсь извлечь значение цены, которая в данном случае составляет 0,08 и поместить его в переменной $ LOWEST_PRICE. Это код, который я придумал:

$obj = json_decode($json); 
if($obj->{'status'} == "fail") die("notfound"); 
$lowest_price = $obj->data->prices->price; 
$lowest_price = (float)($lowest_price); 

Спасибо.

+3

введите код JSon здесь, а не образ – Thamilan

+0

ли вы получить какую-либо ошибку? Что-то не работает так, как предполагалось? –

+1

Вопросы поиска справки по отладке («почему этот код не работает?») Должны включать в себя желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для воспроизведения в самом вопросе. – Sumurai8

ответ

2

Здесь у вас есть:

$lowest_price = $obj->data->prices[0]->price 
+0

Я пробовал это 3 версии назад и не работал – bogdanb

+0

@bogdanb Затем проверьте свою строку json, потому что это может быть не то, что вы показали на своем рис. – Amarnasan

+0

Как я могу проверить, действительно ли это получается ... База данных не обновляет никаких значений. – bogdanb

0
$obj = json_decode($json); 
if($obj->{'status'} == "fail") die("notfound"); 
$lowest_price = $obj->{'data'}->{'prices'}; 

//$lowest_price is now an array 
// for multiple values: 
foreach($lowest_price as $value) 
{ 
    $price = (float)$value->{'price'}; 
} 

// For a single value: 
$price = (float)$lowest_price[0]->{'price'}; 
+1

Вам не нужно '{}' вокруг свойств объекта. – RiggsFolly

+0

@RiggsFolly Обычно я добавляю их, чтобы визуально различать обход в моем коде. –

+0

Вы переписываете значение цены на каждой итерации, если массив имеет несколько цен, вы получаете последнее, если у массива не будет нескольких цен, которые вы нанесете 't нужна петля –

Смежные вопросы