2016-11-12 83 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.