2016-11-12 119 views
4

我怎么能选择从JSON “成功”?:JSON解码(PHP)

{ 
"response": { 
    "success": true, 
    "groups": [ 
     { 
      "gid": "3229727" 
     }, 
     { 
      "gid": "4408371" 
     } 
    ] 

} 
} 

那是我当前的代码值:

$result = json_decode ($json); 
$success = $result['response'][0]['success']; 
    echo $success; 

谢谢。 Regards

回答

4

在这里你去...有Quick-Test Here

<?php 

     $strJson = '{ 
      "response": { 
       "success": true, 
       "groups": [ 
         { 
          "gid": "3229727" 
         }, 
         { 
          "gid": "4408371" 
         } 
        ] 
       } 
      }'; 


     $data  = json_decode($strJson); 
     $success = $data->response->success; 
     $groups  = $data->response->groups; 

     var_dump($data->response->success); //<== YIELDS::  boolean true 
     var_dump($groups[0]->gid);   //<== YIELDS::  string '3229727' (length=7) 
     var_dump($groups[1]->gid);   //<== YIELDS::  string '4408371' (length=7) 

更新::处理条件块内的success值。

<?php 

     $data  = json_decode($strJson); 
     $success = $data->response->success; 
     $groups  = $data->response->groups; 

     if($success){ 
      echo "success"; 
      // EXECUTE SOME CODE FOR A SUCCESS SCENARIO... 
     }else{ 
      echo "failure"; 
      // EXECUTE SOME CODE FOR A FAILURE SCENARIO... 
     } 
+0

谢谢版本太多,我怎么能添加,如果查询一样,如果($成功==真){回声“成功”; }? – Enge

+0

@Enge查看更新后的帖子... – Poiz

+0

完美,非常感谢。 – Enge

3

您几乎接近解决方案。作为json_decode()的第二个参数的地方“true”。

如:

$result = json_decode ($json, true); 
$result['response']['success'];` -> to get the value of success.