【发布时间】:2017-02-28 22:21:11
【问题描述】:
我想从表单数据生成 json。这就是我所拥有的:
<?php
$data = explode(',', $data);
$accounts = [];
foreach ($data as $split) {
$split = explode(':', $split);
$accounts['username'] = trim($split[0]);
$accounts['password'] = $split[1];
}
var_dump(json_encode($accounts));
问题是它只处理循环中的最后一个元素。我知道为什么会这样,但是我忽略了一些东西并且无法正确处理..我希望 json 是这样的;
{
"Username": "username",
"Password": "username"
},
{
"Username": "username",
"Password": "password"
},
等等等等。解决这个问题的最佳方法是什么?我可能想错了..
【问题讨论】:
-
如您所知,每次迭代都会覆盖数组键。您可能想做这样的事情:
$accounts[] = ["Username" => trim($split[0]), "Passowrd" => $split[1]];另外,我建议您将print_r($accouns);放入您的 foreach 循环中,然后在它之后使用您当前的代码并使用我上面建议的代码更改来查看差异.