【发布时间】:2021-11-01 19:12:29
【问题描述】:
这就是我处理来自服务器的请求以及我得到的数组的方式:
$result = json_decode($request->response)->result;
$response = array('status' => 0, 'rpcresult' => $result);
echo json_encode($response);
{"status":0,"rpcresult":[
{"key":"10","pcode":"30001"},
{"key":"11","pcode":"30002"},
{"key":"12","pcode":"30003"},
{"key":"13","pcode":"30004"},
{"key":"14","pcode":"30005"}]}
这是我第一次尝试获取所有 pcode 元素的列表:
success: function(response) {
for (i= 0;i < response.rpcresult.length;i++){
if (response.status == 0) {
msg = '<h2>'+response.rpcresult[i].pcode+'</h2>';
}
else
msg = 'ERROR (' + response.error + ')';
$("#PopupBody").html(msg);
$("#ModalPopup").modal('show');
}
}
问题在于它只返回最后一个 pcode 元素 (30005),我不确定为什么。
【问题讨论】:
-
我认为这可能有效:
msg = msg + '<h2>'+response.rpcresult[i].pcode+'</h2>';。如果之前没有创建 msg,请在 api 调用之前创建它。它会将已经制作的消息粘贴到新消息的前面。制作某种清单。目前,您只是在每次 for 循环触发时替换 msg 变量 -
为什么?因为您每次都用一个新值覆盖
msg的值,而不是附加到已经存在的值。 -
大概就是这样,我如何在php中做到这一点?有什么功能吗?
标签: php arrays json loops for-loop