2016-11-12 3 views
4

как я могу выбрать значение "успеха" от этого JSON ?:JSON Decode (PHP)

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

} 
} 

Вот мой текущий код:

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

Спасибо. С уважением

ответ

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) 

UPDATE ::Handling значение 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

Спасибо версии много, как я могу добавить, если запрос, как если ($ успеха == TRUE) {эхо "успех"; }? – Enge

+0

@Enge Проверьте обновленный пост ... – Poiz

+0

Отлично, спасибо. – Enge

3

Вы почти близко к решению. место "true" в качестве второго аргумента для json_decode().

Например:

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