2017-01-23 31 views
0

嗨,我想插入值轉化爲從API JSON數據公佈表foreach所JSON數據

{"questions":{"34":"Yes", "46":"good", "48":"NA", "29":"Yes", "45":"ravi", "49":"Negative", "43":"1 BHK", "35":"Neighbour", "38":"14", "39":"9", "27":"1", 
"41":"Married", "52":"[email protected]", "47":"good", "31":"Bunglow", "33":"Middle Class", "37":"Owned By Parents", "30":"good", "50":"easy", 
"51":"comments", "32":"No", "44":"[MusicSystem,PC,Refrigerator,Airconditioner]"}} 

當我轉換成數組是

Array 
(
    [questions] => Array 
     (
      [34] => Yes 
      [46] => good 
      [48] => NA 
      [29] => Yes 
      [45] => ravi 
      [49] => Negative 
      [43] => 1 BHK 
      [35] => Neighbour 
      [38] => 14 
      [39] => 9 
      [27] => 1 
      [41] => Married 
      [52] => [email protected] 
      [47] => good 
      [31] => Bunglow 
      [33] => Middle Class 
      [37] => Owned By Parents 
      [30] => good 
      [50] => easy 
      [51] => comments 
      [32] => No 
      [44] => [MusicSystem,PC,Refrigerator,Airconditioner] 
     ) 

) 

如何得到這個值像

使用foreach $ question = 34; $ answer = yes;

回答

0

要獲得一個值,同時有密鑰,你可以做$array["questions"][34]得到答案yes
如果你通過所有的人都希望循環,你可以這樣做循環:

foreach($array["questions"] as $no => $ans){ 
    echo "Question: $no"; 
    echo "Answer: $ans"; 
} 
2

嘗試像this.Convert JSON到數組使用json_decode()。而作出新的陣列密鑰和value.Then只打印第一個關鍵和價值。

<?php 
$json = '{"questions":{"34":"Yes", "46":"good", "48":"NA", "29":"Yes", "45":"ravi", "49":"Negative", "43":"1 BHK", "35":"Neighbour", "38":"14", "39":"9", "27":"1", 
"41":"Married", "52":"[email protected]", "47":"good", "31":"Bunglow", "33":"Middle Class", "37":"Owned By Parents", "30":"good", "50":"easy", 
"51":"comments", "32":"No", "44":"[MusicSystem,PC,Refrigerator,Airconditioner]"}} 
'; 
$array = json_decode($json,TRUE); 
//print_r($array); 
foreach($array['questions'] as $key=>$value) 
{ 
    $arr[] = array('key'=>$key,'value'=>$value); 
} 
//print_r($arr); 
echo "Question:".$arr[0]['key'].PHP_EOL; 
echo "Answer:".$arr[0]['value']; 

輸出:

Question:34 
Answer:Yes