问题描述
所以我试图做的是只获取具有所需标签的键名。 我在这个 url https://api.mercadolibre.com/categories/MLB1002/attributes 上做一个 curl get 使用此代码:
<?PHP
$curl = curl_init();
curl_setopt_array($curl,array(
CURLOPT_URL => 'https://api.mercadolibre.com/categories/MLB1002/attributes',CURLOPT_RETURNTRANSFER => true,CURLOPT_ENCODING => '',CURLOPT_MAXREDirs => 10,CURLOPT_TIMEOUT => 0,CURLOPT_FOLLOWLOCATION => true,CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,CURLOPT_CUSTomrEQUEST => 'GET',CURLOPT_HTTPHEADER => array(
'Authorization: Bearer APP_USR-868446844464533-040421-c41459517982417c3732856e7e872541-224564420'
),));
$response = curl_exec($curl);
curl_close($curl);
$array = json_decode(trim($response),TRUE);
foreach($array as $item) {
echo nl2br($item['name'] . "\n");
}
我只在 PostMan 上解析它得到的值是:
{
"id": "BRAND","name": "marca","tags": {
"catalog_required": true,"required": true
},"hierarchy": "PARENT_PK","relevance": 1,"value_type": "string","value_max_length": 255,"values": [
{
但是是一个包含 2000 多行的大列表
我想要做的是在我的 foreach 中放置一个 if 来只获取带有“required=true”标签的“名称”......我可以通过什么方式做到这一点?
解决方法
您可以在 foreach 中签入
foreach($array as $item) {
if($item['tags']['required']){
echo nl2br($item['name'] . "\n");
}
}