2012-07-12 68 views
2

可能重複:
PHP : Create array for JSON字符串格式 - 邏輯問題

我需要輸出數據在下面的JSON格式。

輸出:

[ 
    { 
     "name": "jake", 
     "age": "20" 

} 
] 

在下面的代碼,我需要設置的鍵和值對的方式在那裏將得到上述JSON輸出。我怎麼能這樣做?

代碼:

$result = array(); 
$key = array("name", "age"); 
$value = array("jake", "20"); 

while($i>2) 
{ 
    $result [] = HERE I NEED TO SET <key : value> COMBINATION, I NEED IT TO SET IN A WAY IT WILL GIVE THE FORMAT OF THE JSON OUTPUT GIVEN ABOVE. 
} 


echo json_encode($result); 

回答

1
$key = array("name", "age"); 
$value = array("jake", "20"); 
$json=array(); 
for($i=0;$i<=count($key)-1;$i++) 
{ 
    $json[$key[$i]]=$value[$i]; 
} 
echo json_encode($json); // {"name":"jake","age":"20"} 
+1

微優化:'$計數=計數($鍵);對於($ i = 0; $ i <$ count; ++ $ i){}' – hsz 2012-07-12 07:18:02

+0

只有2個項目,我認爲這不是必要的,但這是一個很好的做法和感謝。 :-) – 2012-07-12 07:19:24

+1

不客氣! – hsz 2012-07-12 07:19:59

1

您可以使用array_combine

$result = array_combine($key, $value); 

結果:

var_dump($result); 

array(2) { 
    ["name"]=> 
    string(4) "jake" 
    ["age"]=> 
    string(2) "20" 
} 

var_dump(json_encode($result)); 

string(26) "{"name":"jake","age":"20"}" 
0

嘗試array_combile

$result = array(); 
$key = array("name", "age"); 
$value = array("jake", "20"); 

$result[] = array_combine($key, $value); 

echo json_encode($result);