gpt4 book ai didi

php - 如何将两个或多个mysql数组合并为一个

转载 作者:太空宇宙 更新时间:2023-11-03 12:13:52 38 4
gpt4 key购买 nike

我有两个包含多行的表。我想将这两个表行组合成一个长数组,该数组将被标识为一个数组我写了这段代码

$posts_sql = $db->query("SELECT * FROM posts WHERE id < $lastpost AND position = submitter order by id DESC LIMIT 5");
$posts_all = $db->fetch_all($posts_sql);
foreach($posts_all as $key => $posts_row){
$users_sql = $db->query("SELECT username,firstname,lastname,avatar FROM users WHERE username = '".$posts_row['submitter']."'");
$users_all = $db->fetch_assoc($users_sql);
$data[] = $posts_row;
$data[] = $users_all;
}

echo json_encode($data);

它使重复数组不正确...

我的结果是这样的

[{
"id":"39",
"hash":"070fcc8e73ba5f549f87",
"post":"hello\n",
"files":"",
"location":",
"GB","status":"1",
"position":"dabblos",
"submitter":"dabblos",
"source":"text",
"ip":"37.130.227.133",
"stamp":"1390197699"
},
{
"username":"dabblos",
"firstname":"dabb",
"lastname":"los",
"avatar":"no_avatar.png"
}]

请帮我把它变成一个长数组

我希望看到这样的输出

{
"id":"39",
"hash":"070fcc8e73ba5f549f87",
"post":"hello\n",
"files":"",
"location":",
"GB","status":"1",
"position":"dabblos",
"submitter":"dabblos",
"source":"text",
"ip":"37.130.227.133",
"stamp":"1390197699"
"username":"dabblos",
"firstname":"dabb",
"lastname":"los",
"avatar":"no_avatar.png"
}

最佳答案

看看这个,我已经采用了示例值,它工作正常,如您所愿

$arr=array(array("abc"=>"1","def"=>"2"),array("abcc"=>"11","deff"=>"22"));

echo json_encode($arr);
$final = array();
foreach($arr as $item) {
$final = array_merge($final, $item);
}
print_r($final);

输出

[{"abc":"1","def":"2"},{"abcc":"11","deff":"22"}]//json_array

Array ( [abc] => 1 [def] => 2 [abcc] => 11 [deff] => 22 )//final array

更新

json_encode 最终数组,你会得到想要的结果

echo json_encode($final);

输出

{"abc":"1","def":"2","abcc":"11","deff":"22"}

关于php - 如何将两个或多个mysql数组合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23051300/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com