仅获取给定字段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>';
?>