Json-php给出了两次输出


json-php giving filed out put two times?

json数组中有login_ids的记录。我想在json-php解码函数中获取所需的结果。它在每行的顶部和底部分别给login_id两次。我有任何办法不打印login_id在值字段?代码细节如下所示。

<?php
    $json = '{"records" : 
       [
            {
                "Name": "Jhon",
                "Age": "45",
                "Place": "Kettle",
                "Phone": "9834453",
                "log_id": "216" 
            },
            {
                "Name": "Bill",
                "Age": "41",
                "Place": "Ottava",
                "Phone": "4513453",
                "log_id": "215"         
        },
            {
               "Name": "James",
                "Age": "39",
                "Place": "Mexico",
                "Phone": "3456734",
                "log_id": "217" 
            },
        {
            "Name": "larry",
                "Age": "51",
                "Place": "New city",
                "Phone": "34890453",
                "log_id": "213" 
        }
        ]
    }';
$myjson = json_decode($json, true);  // decode the json string to an array
  foreach ( $myjson['records'] as $row ) {  // loop the records
            echo 'Details of  login id:&nbsp;'.  $row['log_id']. '<br/>';
            foreach ( $row as $field => $value ) {  // loop the fields
            echo  $field . ': '. $value . '<br>';
            }
         echo '<br/>'; 
    }
?>

也有任何简单的方法来打印所需的登录id(即login_id="217"),以便一个人的地址被输出。

下面的代码可能会更好,但没有经过测试。

foreach ( $myjson['records'] as $row ) {  
        if ($row['log_id'] =='216') { // login id to be checked
               echo 'Details of  login id:&nbsp;'.  $row['log_id']. '<br/>';
               foreach ( $row as $field => $value ) {  // loop the fields
                    if ($field != "log_id") { // hide the login id t bottom           
                           echo $field . ': ' . $value . '<br>';
                           }
              }
              echo '<br/>'; 
    }
 }

在打印前测试字段名

foreach ($row as $field => $value {
    if ($field != "log_id") {
        echo $field . ': ' . $value . '<br>';
    }
}