query($sql);-6ren">
gpt4 book ai didi

php - Json_encode 一个合并的数组,但只返回 1 行

转载 作者:行者123 更新时间:2023-11-30 21:40:55 26 4
gpt4 key购买 nike

这是我的代码,获取我需要的查询结果

$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 键从第二个数组复制到第一个数组中。

关于php - Json_encode 一个合并的数组,但只返回 1 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51670238/

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