在php中读取和打印json数组

在php中读取和打印json数组,php,json,foreach,Php,Json,Foreach,我有一个JSON数组,如下所示。我只想打印名称的值。但我得到了未定义的索引名和name的值。下面是我的json [{"docId":{"id":"57dd70252a896558e573a0c8"},"docProfile":{"name":"gowtham","gender":null,"email":null,"mobile":"7406339908"},"docLocalInfo":{"username":"gowtham","otp":934343,"newPasswordToken":

我有一个JSON数组,如下所示。我只想打印名称的值。但我得到了未定义的索引名和name的值。下面是我的json

[{"docId":{"id":"57dd70252a896558e573a0c8"},"docProfile":{"name":"gowtham","gender":null,"email":null,"mobile":"7406339908"},"docLocalInfo":{"username":"gowtham","otp":934343,"newPasswordToken":null,"tempMobile":"","adminVerfiy":null},"privateInfo":{"mciNumber":null,"aadharNumber":null,"panNumber":null},"tempHospitals":[],"bankInfo":null,"signupSteps":{"accountCreated":true,"otpValidated":true},"notification":null,"hospitals":[],"address":null}]
我的代码

foreach($doc_array as $data => $mydata)
    {
          foreach($mydata as $key=>$val)
          {
              echo $val['name'];
          }
    }

如何从docProfile获取name的值?任何帮助都将不胜感激

此数组只有一行,但如果您的数组有更多行,则可以使用它; 首先需要解码JSON

$doc_array =json_decode($doc_array ,true);

foreach($doc_array as $key=> $val){
     $val['docProfile']['name']  
}

在foreach中,不需要再次循环,因为
docProfile
是json对象数组的索引

只要简单地访问它

echo $mydata['docProfile']['name'].'<br>';
echo$mydata['docProfile']['name'].
所以你的祖先是这样的

foreach($doc_array as $data => $mydata) {
    echo $mydata['docProfile']['name'].'<br>';
}
foreach($doc\u数组作为$data=>$mydata){
echo$mydata['docProfile']['name'].
; }

试着做这样的事情

<?php
$string = '[{"docId":{"id":"57dd70252a896558e573a0c8"},"docProfile":{"name":"gowtham","gender":null,"email":null,"mobile":"7406339908"},"docLocalInfo":{"username":"gowtham","otp":934343,"newPasswordToken":null,"tempMobile":"","adminVerfiy":null},"privateInfo":{"mciNumber":null,"aadharNumber":null,"panNumber":null},"tempHospitals":[],"bankInfo":null,"signupSteps":{"accountCreated":true,"otpValidated":true},"notification":null,"hospitals":[],"address":null}]';

$arr = json_decode($string, true);
echo $arr[0]['docProfile']['name'];
?>

支票可能重复,如$val->name
<?php
$string = '[{"docId":{"id":"57dd70252a896558e573a0c8"},"docProfile":{"name":"gowtham","gender":null,"email":null,"mobile":"7406339908"},"docLocalInfo":{"username":"gowtham","otp":934343,"newPasswordToken":null,"tempMobile":"","adminVerfiy":null},"privateInfo":{"mciNumber":null,"aadharNumber":null,"panNumber":null},"tempHospitals":[],"bankInfo":null,"signupSteps":{"accountCreated":true,"otpValidated":true},"notification":null,"hospitals":[],"address":null}]';

$arr = json_decode($string, true);
echo $arr[0]['docProfile']['name'];
?>