如何仅从具有特定值的 curl(php) 中获取键名

问题描述

所以我试图做的是只获取具有所需标签的键名。 我在这个 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");
  }
}