2016-09-01 2 views
0

это мой ответPHP переменные для JSON ответ

Array ([code] => 202 [message] => Accepted [data] => Array ([resultMap] => Array ([D3856~H158] => Array ([AppDay] => * [HosTown] => Colombo 06 [SpecName] => Physiotherapist/Sports Physiotherapist [HosName] => Revival Healthcare Services (Pvt)-Colombo [SpecializationId] => 333 [HosCode] => H158 [AppDate] => Any [DocName] => MR CHAMARA MATHANGAWEERA [DoctorNo] => D3856))) [detailMessage] => Success) 

теперь я хочу, чтобы назначить переменную для этой юдоли и эхо в правильном пути я попробовать это но давая Msg об ошибке

Undefined индекс : DOCNAME

это мой код ////////////////////////////////////

if($response){ 
    if (isset($result->error))die($result->error_message); 
    /* Convert json data to array */ 
    $arr=json_decode($response, true); 
    //print_r($arr); 
    foreach($arr['data'] as $data) 
    { 
     $output="Doctor".$data['DocName']."<br/>"; 
     $output="Doctor".$data['SpecName']."<br/>"; 
     $output="Doctor".$data['HosName']."<br/>"; 
     $output="Doctor".$data['Day']."<br/>"; 
     $output="Doctor".$data['Date']."<br/>"; 
    } 
+1

Найдите минутку, чтобы прочитать [edit help] (http://stackoverflow.com/editing-help) в справочном центре. Форматирование переполнения стека отличается от других сайтов. Чем лучше выглядит ваш пост, тем легче читать и понимать его. – Rizier123

+0

рассмотрите несколько базовых понятий массива и доступ к массиву с помощью foreach. [http://php.net/manual/en/language.types.array.php](http://php.net/manual/en/language.types.array.php), [http://php.net/manual/en/control-structures.foreach.php](http://php.net/manual/en/control-structures.foreach.php) – anuraj

ответ

2

Посмотрите на структуру вашего массива. Значения, которые вы ищете вкладываются жгуты несколько массивов:

$data = array (
    'code' => 202, 
    'message' => 'Accepted', 
    'data' => array ( 
     'resultMap' => array ( 
      'D3856~H158' => array ( 
       'AppDay' => '*', 
       'HosTown' => 'Colombo 06', 
       'SpecName' => 'Physiotherapist/Sports Physiotherapist', 
       'HosName' => 'Revival Healthcare Services (Pvt)-Colombo', 
       'SpecializationId' => 333, 
       'HosCode' => 'H158', 
       'AppDate' => 'Any', 
       'DocName' => 'MR CHAMARA MATHANGAWEERA', 
       'DoctorNo' => 'D3856', 
      ) 
     ) 
    ), 
    'detailMessage' => 'Success' 
); 

Для печати всех значений для первой записи в resultMap:

foreach(current($data['data']['resultMap']) as $key => $value) { 
    echo $key . " => " . $value . "<br />"; 
} 

Вам нужны дополнительная петля для того, чтобы напечатать все записи в resultMap ,

0

Вы можете попробовать это работает отлично для этого фиксированного значения массива означает ниже приведен

foreach($arr['data']['resultMap']['D3856~H158'] as $data) 
{ 
     $output="Doctor".$data['DocName']."<br/>"; 
     $output="Doctor".$data['SpecName']."<br/>"; 
     $output="Doctor".$data['HosName']."<br/>"; 
     $output="Doctor".$data['Day']."<br/>"; 
     $output="Doctor".$data['Date']."<br/>"; 


} 

или Меняющихся значения массива дал ответ

foreach($arr['data']['resultMap'] as $data) 
{ 
     $output="Doctor".$data['DocName']."<br/>"; 
     $output="Doctor".$data['SpecName']."<br/>"; 
     $output="Doctor".$data['HosName']."<br/>"; 
     $output="Doctor".$data['Day']."<br/>"; 
     $output="Doctor".$data['Date']."<br/>"; 


} 
+0

Пожалуйста, найдите время, чтобы добавить правильную подсветку кода, чтобы сделать чтение легче. – SaschaM78

Смежные вопросы