【问题标题】:Get value in object or array object php获取对象或数组对象php中的值
【发布时间】:2020-08-07 05:26:35
【问题描述】:

如何在 php 中从这个对象和这个对象数组中获取值名称?以及如何检查是对象还是数组对象然后获取值名称?

"director": {
"@type": "Person",
"url": "/name/nm0001104/",
"name": "Frank Darabont"}



"director": [
{
  "@type": "Person",
  "url": "/name/nm5156926/",
  "name": "Devon Downs"
},
{
  "@type": "Person",
  "url": "/name/nm2632302/",
  "name": "Kenny Gage"
}],

【问题讨论】:

    标签: php arrays json object arrayobject


    【解决方案1】:
    $json = '{
        "director": [
              {
                "@type": "Person",
                "url": "/name/nm5156926/",
                "name": "Devon Downs"
              },
              {
                "@type": "Person",
                "url": "/name/nm2632302/",
                "name": "Kenny Gage"
              }
      ]
      }';
    
      $names = [];
      $data = json_decode($json, true);
    
      if (true === isset($data['name'])) {
          $name[] = $data['name'];
          return $names;
      }
      foreach ($data as $director) {
        foreach($director as $itme){
          if (true === isset($itme['name'])) {
              $names[] = $itme['name'];
          }
        }
    
      }
      return $names;
    

    输出:

    Array
    (
        [0] => Devon Downs
        [1] => Kenny Gage
    )
    

    【讨论】:

      【解决方案2】:

      使用json_decode

      $names = [];
      $data = json_decode($json, true);
      if (true === isset($data['name'])) {
          $name[] = $data['name'];
          return $names;
      }
      foreach ($data as $director) {
          if (true === isset($director['name'])) {
              $names[] = $director['name'];
          }
      }
      return $names;
      

      【讨论】:

        猜你喜欢
        • 2011-05-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多