2016-03-01 55 views
0

我试图在json中获取输出,但目前我有一个将它们分组在一起,或者删除json输出中的键。foreach - > array - > 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”},{“userid”:“1”},{“title”:“Test 1”},{“id”:“52”},{“用户ID“:”1“,{”title“:”Test 2“},{”id“:”53“},{”userid“:”1“ { “ID”: “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”, “标题”: “试验1”}, “52”:{ “ID”: “52”,“userid”:“1”,“title”:“Test 2”},“53”:{“id”:“53”,“userid”:“1”,“title” “},” 58 “:{” ID “:” 58" , “用户ID”: “1”, “称号”: “测试4”}}

我想它取下钥匙,我有输入。目前我无法真正想到一个办法。


由于阿南特要求: 输出为$数据 - >结果()是从我的表数据库的所有信息。问题是我想改变数组$ data-> results(),但是找不到这个方法,所以选择使用上面显示的方法。

[{“id”:“31”,“userid”:“1”,“title”:“Test 1”},{“id”:“52”,“userid” ,“title”:“Test 2”},{“id”:“53”,“userid”:“1”,“title”:“Test 3”},{“id”:“58” : “1”, “称号”: “测试4”}]

+0

1.请通过打印'$数据 - >结果表明我们() ;它有什么? 2.你预期的结果看起来像什么? –

回答

1

一个步骤就创建新的数组

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

令人惊叹!认为你不能在foreach中使用数组,所以从来没有真正尝试过这样做,但是记住了它。 – Nature

相关问题