suchen

Heim  >  Fragen und Antworten  >  Hauptteil

PHP gibt JSON aus, was verschachtelte Arrays und Objekte erfordert.

            $tmp = [];
            $tmp['id'] = 'aaa';
            $tmp['name'] = 'bbb';
            $tmp['vvvv'] = [
                'www'=>1,
                'ffff'=>2
            ];
            
            echo (json_encode($tmp));

Die Ausgabe ist

{
"id": "aaa",
"name": "bbb",
"vvvv": {
    "www": 1,
    "ffff": 2
}
}

Ich würde gerne fragen, wie man die Ausgabe auf

ändern kann
{
"id": "aaa",
"name": "bbb",
"vvvv": [
    {"www": 1},
    {"ffff": 2}
]
}

Ich habe es getestet und es funktioniert, aber es ist nicht sehr einfach zu bedienen:

    $tmp['vvvv'] = [
                0=>(object)['www'=>1],
                1=>(object)['fff'=>2]
            ];
为情所困为情所困2756 Tage vor723

Antworte allen(2)Ich werde antworten

  • phpcn_u1582

    phpcn_u15822017-06-30 09:57:13

    将$tmp['vvvv']里的元素换成数组就行了,不需要转化为object,如下

                $tmp = [];
                $tmp['id'] = 'aaa';
                $tmp['name'] = 'bbb';
                $tmp['vvvv'] = [
                    ['www'=>1],
                    ['ffff'=>2]
                ];

    Antwort
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-30 09:57:13

    本来就是这样,php统一都是map

    Antwort
    0
  • StornierenAntwort