仅获取给定字段Json_decode()Php

仅获取给定字段Json_decode()Php,php,filter,json,Php,Filter,Json,我有以下代码: <?php $url = 'https://www.googleapis.com/shopping/search/v1/public/products?key=keyhere&country=US&q=xbox+360'; $data = curl_init($url); // Tell curl_exec to return the text instead of sending it to STDOUT curl_setopt($data, CURL

我有以下代码:

<?php 
$url = 'https://www.googleapis.com/shopping/search/v1/public/products?key=keyhere&country=US&q=xbox+360';
$data = curl_init($url);

// Tell curl_exec to return the text instead of sending it to STDOUT
curl_setopt($data, CURLOPT_RETURNTRANSFER, TRUE);

// Don't include return header in output
curl_setopt($data, CURLOPT_HEADER, 0);

$product_result = curl_exec($data);
curl_close($data);

echo $product_result;

$arr = json_decode($product_result, true);

$price_arr = array();
foreach($arr['product'] as $a){
    $price_arr[] = $a['price'];
}


?>
如何仅获取
“price”
的值。例如:
“price”:数组中的149.0与149.0、65.0应能做到:

$price_arr = array();
foreach($arr['items'] as $a){
    $price_arr[] = $a['price'];
}
您只需要查看您希望返回的结构,然后相应地处理它。

应该能够做到:

$price_arr = array();
foreach($arr['items'] as $a){
    $price_arr[] = $a['price'];
}
您只需查看您希望返回的结构,然后相应地进行处理。

更改:

$arr = json_decode($product_result);
致:

以及:

致:

更改:

$arr = json_decode($product_result);
致:

以及:

致:


请参阅下面的一段代码,它将返回数组中的所有价格

<?php 
$url = 'https://www.googleapis.com/shopping/search/v1/public/products?key=AIzaSyCu8GTvifkYjWOXhOYdbyfOIP8QtVmkYBQ&country=US&q=xbox+360';

$data = curl_init($url);
curl_setopt($data, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($data, CURLOPT_HEADER, 0);

$product_result = curl_exec($data);
curl_close($data);


$arr = json_decode($product_result, true);
$prices = array();

foreach ($arr['items'] as $item)
{
    if (isset($item['product']['inventories'][0]['price']) !== false)
    {
        $prices[] = $item['product']['inventories'][0]['price'];
    }
}


echo '<pre>';
print_r($prices);
echo '</pre>';
?>

请参阅下面的一段代码,它将返回数组中的所有价格

<?php 
$url = 'https://www.googleapis.com/shopping/search/v1/public/products?key=AIzaSyCu8GTvifkYjWOXhOYdbyfOIP8QtVmkYBQ&country=US&q=xbox+360';

$data = curl_init($url);
curl_setopt($data, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($data, CURLOPT_HEADER, 0);

$product_result = curl_exec($data);
curl_close($data);


$arr = json_decode($product_result, true);
$prices = array();

foreach ($arr['items'] as $item)
{
    if (isset($item['product']['inventories'][0]['price']) !== false)
    {
        $prices[] = $item['product']['inventories'][0]['price'];
    }
}


echo '<pre>';
print_r($prices);
echo '</pre>';
?>


价格
是单个值。您需要构造它们的数组。请参阅修改后的代码。这里的错误在于
price
是单个值。您需要构造它们的数组。请参阅修改后的代码。这里出了什么问题请看更新的代码,这似乎并没有改变输出方面的任何内容。有什么想法吗?请看更新的代码,这似乎并没有改变任何输出方面的内容。有什么想法吗?
<?php 
$url = 'https://www.googleapis.com/shopping/search/v1/public/products?key=AIzaSyCu8GTvifkYjWOXhOYdbyfOIP8QtVmkYBQ&country=US&q=xbox+360';

$data = curl_init($url);
curl_setopt($data, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($data, CURLOPT_HEADER, 0);

$product_result = curl_exec($data);
curl_close($data);


$arr = json_decode($product_result, true);
$prices = array();

foreach ($arr['items'] as $item)
{
    if (isset($item['product']['inventories'][0]['price']) !== false)
    {
        $prices[] = $item['product']['inventories'][0]['price'];
    }
}


echo '<pre>';
print_r($prices);
echo '</pre>';
?>