如何将数组传递给 laravel json?

How to pass an array into laravel json?

这是我的简单代码..

 $country=['Bangladesh','Pakistan'];
    $capital=['Dhaka','Islamabad'];
    return response()->json([
        'country'=>$country,
        'roll'=>$roll,
    ]);

如果我 运行 上面的代码,输出将如下所示..

{
"country": [
    "Bangladesh",
    "Pakistan"
],
"roll": [
    'Dhaka',
    'Islamabad'
]

}

但我希望我的预期输出像.. 编辑:以下 JSON 无效(2 个相同的关键国家)

{ 
{
   "country":"Bangladesh",
   "capital":"Dhaka"
},
{
   "country":"Pakistan",
   "capital":"Islamabad"
},

}

您预期的输出是错误的。您不能在输出 json 中有 2 个相同的键 (country)。您应该将国家和首都封装在单独的 {} 中。

试试这个

$countries = ['India', 'Bangladesh', 'Pakistan'];
$capital = ['Delhi', 'Dhaka', 'Islamabad'];
$response = [];
foreach ($countries as $key => $country) {
    $response[$key] = [
        'country' => $country,
        'capital' => $capital[$key],
    ];
}
return response()->json($response);

会return

[{
        "country": "India",
        "capital": "Delhi"
    },
    {
        "country": "Bangladesh",
        "capital": "Dhaka"
    },
    {
        "country": "Pakistan",
        "capital": "Islamabad"
    }
]