一千萬個為什麽

搜索

從具有多個值的JSON響應中查找最低JSON值

我有這個代碼:

foreach($specs as $spec) {
    if(preg_match('/^(\w+):\s*(.*?)\s\$?(\d*\.?\d*)$/', $spec, $matches)) {
        list(,$tag,$name,$price) = $matches;

        $url = 'https://www.googleapis.com/shopping/search/v1/public/products?country=AU&key=KEY&q=' . urlencode($name);

        $obj = json_decode(file_get_contents($url));
        echo "items[0]->product->link}\">{$name} \${$obj->items[0]->product->inventories[0]->price}
"; } }

Here's the JSON response (example): http://pastebin.com/VzAG1159


As you can see there's multiple price values in the JSON response. How can I workout (using PHP), the lowest value price?
So if the values are like so:

  • 294.00
  • 295.00
  • 296.00

它將選擇294.00一個。不幸的是,谷歌不會將他們的回復排序為任何邏輯格式,因此最便宜的可能是中途或最後。

我不知道我會使用什麽功能,即使count()似乎不起作用。

幹杯。

最佳答案

也許嘗試PHP的排序功能之一?

如果您只需要對價格進行排序,您可以遍歷所有價格並將它們放在一個臨時數組中,然後使用 asort()進行排序。

轉載註明原文: 從具有多個值的JSON響應中查找最低JSON值