php - Json_encode 合并数组,但只返回 1 行
问题描述
所以这是我的代码,获取我需要的查询结果
$json_array = array();
$sql = "call rep_info();";
$result = $connect->query($sql);
while ($row = $result->fetch_assoc()) {
$json_array[] = $row;
}
mysqli_free_result($result);
mysqli_next_result($connect);
// Buat info user
$json_array2 = array();
$sql = "call rep_user();";
$result = $connect->query($sql);
while ($row = $result->fetch_assoc()) {
$json_array2[]["user"] = $row;
}
然后我像这样将两个数组合并为一个
$timeline = array_merge($json_array[0],$json_array2[0]);
$timeline2 = array_merge($json_array[1],$json_array2[1]);
$timeline = array_merge($timeline,$timeline2);
编码合并的数组以及回显变量
$encoded = json_encode($timeline);
echo $encoded;
所以基本上我想要的是显示来自 json_array[0] 和 json_array[1] 的 2 行查询结果。但是我在 json_array[1] 和 json_array2[1] 的回显结果中只得到 1 行。
这段代码有什么问题?谢谢!
编辑:
print_r($json_array[0]);
print_r($json_array2[0]);
Array
(
[id] => 11087
[message] => Late post.\nDarmo ramai lancar
[latitude] => -7.292500019073486
[longitude] => 112.7388916015625
[image] => 1529894809620.jpeg
[thumb] =>
[sub_category] =>
[is_need_respond] => 0
[is_sticky] => 0
[is_hidden] => 0
[viewed] => 18
[deleted_at] =>
[created_at] => 2018-06-25 02:48:04
)
Array
(
[user] => Array
(
[id] => 621
[name] => asd
[username] => asd
[verified] => 2
[avatar] => icfab.jpg
[level] => 10
)
)
解决方案
像这样试试
$timeline = $json_array[0];
$timeline['user'] = $json_array2[0]['user'];
$timeline2 = $json_array[1];
$timeline2['user'] = $json_array2[1]['user'];
$timeline = [$timeline, $timeline2];
$encoded = json_encode($timeline);
echo $encoded;
编辑
假设$json_array
具有相同的长度,$json_array2
您可以像这样合并它们
foreach($json_array as $idx => &$item)
{
$item['user'] = &$json_array2[$idx]['user'];
}
echo json_encode($json_array);
更新
我不知道你为什么不理解这个 1 行循环。我会尽力解释它。
您有 2 个长度相同的数组 -$json_array
和$json_array2
. 您遍历 中的每个元素$json_array
并查看 中的相同数组索引$json_array2
。当您拥有两个数组中的相应元素时 - 您只需将user
第二个数组中的键复制到第一个数组中。
推荐阅读
- intellij-idea - 是否可以在 Intellij IDEA 中将选择拆分为多个光标?
- python - 通过对象从 QuerySet 中获取下一个和上一个对象
- javascript - 动态翻译数据 react localize redux
- scala - 如何将 Scala 枚举用于 JOOQ 转换器
- sql - oracle sql 内联查询标识符无效
- django - 如何使用动态更新的 Choicefield 验证表单集?
- r - 在 hts 包中,为什么在创建组结构时 gts 功能硬编码 2-combinations?
- api - 在 Yammer 上哪里可以找到我的应用程序的 consumer_key?
- ios - Web App iOS 滑动查看上一页
- ios - 为什么“自动调整字体”不起作用?