2013-04-10 26 views
0

我想與幾個陣列中創建新的stdClass的,然後將其轉換爲JSON陣列,例如我有這個數組:創建stdClass的幾個陣列

$my_arr = array (name=>myname1, adress=>myadd1, phone=>myphone1); 
$my_arr2 = array (name=>myname2, adress=>myadd2, phone=>myphone2); 

,我想給他們合併stdClass的,這是我嘗試:

$foo = new stdClass(); 
$foo->item1 = array(); 

foreach ($my_arr as $key => $value) { 
$foo->item1[$key] = $value; 
} 

print_r($foo); 
echo json_encode($foo); 

這裏的問題是,我只使用與第一陣列,結果應該是:

"items":[ 
    [ 
     { 
      "name":"myname1", 
      "adress":"myadd1", 
      "phone":"myphone1" 
     }, 
     { 
      "name":"myname2", 
      "adress":"myadd2", 
      "phone":"myphone2" 
     }, 
     { 
      "name":"myname3", 
      "adress":"myadd3", 
      "phone":"myphone3" 
     } 
    ] 
], 

非常感謝!

+0

** ** array_merge? http://php.net/manual/en/function.array-merge.php – Narek 2013-04-10 08:06:52

+0

你的代碼有太多的錯字 – 2013-04-10 08:10:03

+0

我知道,我寫得很快..我只是想你會明白主要想法.. – EranLevi 2013-04-10 08:22:04

回答

0

你不需要使用stdClass,只要數組能正常工作。

$foo = array('items' => array($my_arr, $my_arr2)); 
echo json_encode($foo); 

當然,你可以使用stdClass也:

$foo = new stdClass(); 
$foo->items = array($my_arr, $my_arr2); 
echo json_encode($foo); 
+0

太棒了!感謝這!!,我正在測試它! – EranLevi 2013-04-10 08:23:24