2016-06-27 2 views
-1

Я хочу получить значение переменной в JSON, но он продолжает давать мне неопределенный индекс, где индекс определенно существует, когда я открываю URL-адрес.получить конкретные данные от curl

Вот мой код:

//initializing cURL 
      $ch = curl_init(); 
//setting the URL 
      $priceURL = 'http://steamcommunity.com/market/priceoverview/?currency=1&appid=570&market_hash_name=Exalted%20Manifold%20Paradox'; 
//set options 
      curl_setopt($ch, CURLOPT_URL, $priceURL); 
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
      curl_setopt($ch, CURLOPT_HEADER, 0); 
//execute 
      $string1 = curl_exec($ch); 
//close curl session/free resources 
      curl_close ($ch); 
//decode the json string into an array 
      $json_price_file = json_decode($string1, true); 
      $price = $json_price_file ["lowest_price"]; 

Это дает ошибку Undefined индекс: LOWEST_PRICE. Однако, когда вы открываете URL-адрес, переменная определенно существует. Что мне не хватает? Пожалуйста, помогите: D

+1

сообщение что делает '$ string1'? –

+0

$ string1 - это просто переменная, которую я создал там, поэтому я могу передать ее json_decode. – KMackinley

+0

Ваш код работает для меня. Убедитесь, что у вас есть расширение 'php_curl'. – wazelin

ответ

0

Я подтверждаю, что ваш код работает хорошо, как сказал Вазелин, проверьте свой php_curl в php.ini.

Edit: после просмотра кода (по электронной почте), вы должны добавить следующее:

После получения значения $market_hash_name вам нужно заменить белое пространство на% 20 (действительный URL).

$market_hash_name = str_replace(' ', '%20', $market_hash_name); 

Тогда я советую вам добавить условие для LOWEST_PRICE, чтобы избежать ошибок:

if (isset($json_price_file["lowest_price"])) { 
    #your code... 
} 

С уважением.

+0

Что это значит? – KMackinley

+1

, который дает мне: $ 26.16 – Peacefull

+0

Могу ли я отправить вам весь код на ваш адрес электронной почты, если все в порядке? Вероятно, проблема в другом месте. – KMackinley

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