【发布时间】:2022-11-03 21:48:44
【问题描述】:
我有一个 3d 数组,我正在尝试使用以下方法在有效负载中遍历和打印:
$this->response([
"code" => num,
"payload" => $arr
]);
但是,目前看起来像这样:
{
"code": num,
"payload": [
{
"2nd array": [
{
"msg": "some message",
"val": "some val"
}
]
},
{
"2nd array": [
{
"msg": "some message",
"val": "some val"
}
]
}
]
}
我需要在没有2nd array 值的情况下打印它,如下所示:
{
"code": num,
"payload": [
{
"msg": "some msg",
"val": "some val"
},
{
"msg": "some msg",
"val": "some val"
}
]
}
这是我制作数组的方法:
foreach ($orig_array as $arr) {
$res[$i]["2nd array"][] = array(
"msg" => $arr["some_message"],
"val" => $arr["some_value"],
);
}
有没有一种我没有看到的简单方法来做到这一点?在发送响应之前,我曾尝试将数组展平或循环遍历它,但我无法将它变成那种形状。
编辑:
我想只删除第二个数组,但我不能改变它,因为它不是我的代码,它是遗留的,它会破坏许多其他东西。
【问题讨论】:
-
那么
$res[$i][] = array( "msg" => $arr["some_message"], "val" => $arr["some_value"],);怎么样。如果你不想要第二个数组,那么不要把它放在那里。 -
@ADyson 我虽然是这样,但我不能改变它,因为它不是我的代码,它是遗留的,它会破坏许多其他的东西。
-
女巫PHP版本?
-
@Foobar 我使用的是 7.4 版
-
你说
Here's how I make the array,所以我认为这是你的代码:-)