PHP中如何保存foreach循环结果并累积更新Telegram消息
解决方案
核心思路是先累积所有检查结果到一个字符串变量中,循环结束后一次性发送/编辑消息,避免每次循环覆盖内容。具体实现步骤如下:
- 初始化一个空字符串,用于存储所有CC的检查结果
- 在
foreach循环内部,将每个CC的信息和对应的检查结果按照指定格式追加到字符串中 - 循环完成后,统一调用Telegram的消息编辑/发送接口,将累积好的完整内容输出
代码示例
// 初始化结果累积字符串 $finalResult = ''; // 假设你的CC列表存储在$ccList数组中 $ccList = ['72611111', '625262']; foreach ($ccList as $cc) { // 替换为你实际的CC检查逻辑 $checkResult = checkCC($cc); // 自定义函数,返回当前CC的检查结果 // 按格式追加结果到累积字符串 $finalResult .= "CC : {$cc}\n\nResult : {$checkResult}\n\n"; } // 循环结束后一次性编辑/发送消息(替换成你的Telegram机器人API调用) editMessageText([ 'chat_id' => $chatId, 'message_id' => $messageId, 'text' => "```\n{$finalResult}\n```", // 用代码块格式匹配示例样式 'parse_mode' => 'MarkdownV2' // 确保Telegram支持Markdown格式解析 ]);
关键说明
- 用
\n控制换行,保证每个CC与结果的排版和示例一致 - 通过包裹```的代码块格式,让输出样式更贴合需求
- 避免在循环内频繁调用消息编辑接口,既减少API请求次数,又彻底解决内容被覆盖的问题
内容的提问来源于stack exchange,提问作者Junaid Rahman
相关产品推荐
相关产品推荐

