foreach - >数组 - > json - 将它们组合在一起

时间:2016-03-01 17:57:58

标签: php arrays json

我试图在json中获取输出,但是目前我要将它们组合在一起,或者删除json输出中的键。

$output = array();
foreach ($data->results() as $data) {
  $output[]['id'] = $data->id;
  $output[]['userid'] = $data->userid;
  $output[]['title'] = $data->title;
}
echo json_encode($output);

这个当前的代码将会出现,但他们不会像我希望的那样对id,userid和title进行分组。

  

[{" ID":" 31"},{"用户ID":" 1"},{"标题& #34;:"测试1"},{" id":" 52"},{"用户ID":" 1& #34;},{"标题":"测试2"},{" id":" 53"},{&#34 ; userid":" 1"},{" title":" Test 3"},{" id":&#34 ; 58"},{"用户ID":" 1"},{"标题":"测试4"}]

然后我尝试以另一种方式执行此操作,方法是为数组提供一个键来对它们进行分组,但我的问题是系统不会对代码进行重新编码,如果他们将ID作为密钥。

$output = array();
foreach ($data->results() as $data) {
  $id = $data->id;
  $output[$id]['id'] = $data->id;
  $output[$id]['userid'] = $data->userid;
  $output[$id]['title'] = $data->title;
}
  

{" 31" {" ID":" 31""用户ID":" 1&#34 ;, "标题":"测试1"}," 52":{" id":" 52",&# 34; userid":" 1"," title":" Test 2"}," 53":{" id":" 53"," userid":" 1"," title":"测试3" }," 58" {" ID":" 58""用户ID":" 1"&# 34;标题":"测试4"}}

我希望删除我输入的密钥。目前我无法想到一种方法。

Anant要求: $ data-> results()的输出是我的数据库在表中的所有信息。问题是我想更改数组$ data-> results(),但找不到方法,所以选择使用此方法,而不是上面显示的。

  

[{" ID":" 31""用户ID":" 1""标题&#34 ;: "测试1"},{" id":" 52","用户ID":" 1",&# 34;标题":"测试2"},{" id":" 53","用户ID":" 1","标题":"测试3"},{" id":" 58","用户ID&# 34;:" 1"," title":"测试4"}]

1 个答案:

答案 0 :(得分:1)

只需一步创建新阵列

$output = array();
foreach ($data->results() as $data) {
  $output[] = array(
    'id' => $data->id,
    'userid' => $data->userid,
    'title' => $data->title);
}
echo json_encode($output);