0

内部にいくつかの配列を含む新しい stdclass を作成し、それを json 配列に変換しようとしています。たとえば、次の配列があります。

$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"
        }
    ]
],

どうもありがとうございました!

4

1 に答える 1

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);
于 2013-04-10T08:04:37.990 に答える