php - 我可以存储该函数的字符串结果并将其连接到另一个字符串吗?
问题描述
我正在从 db 读取一个数组,我想对其进行格式化,以便为我的电报机器人提供一个类似于文本的表格。
我尝试使用 sprintf php 函数来格式化文本,但是当我尝试将结果放入字符串时,结果是任何字符串都放入了字符串中。
这是我的数组:
// This is my complete array.
{
"result":true,
"error":"nothing",
"content":{
"3269":{"Quantity":4,"Name":"Atom Seikhart"},
"3273":{"Quantity":4,"Name":"Brunhild"},
"3304":{"Quantity":3,"Name":"Isis"},
"3319":{"Quantity":1,"Name":"Arthur"},
"3329":{"Quantity":2,"Name":"Loki"},
"3343":{"Quantity":1,"Name":"Chamimi"},
"3351":{"Quantity":14,"Name":"Hanzo"},
"3379":{"Quantity":8,"Name":"Lucifer"}
},
"Total":37
}
这是我的 php 周期和消息发送:
// This is my "select from db" function.
$res = get_event_rulers_breakdowns_by_id($mysqli, $value["Id"]);
$breakdown = $res["content"];
$message .= "\nThis is the event ruler breakdown (total " . $res["Total"] . "):\n";
foreach ($breakdown as $value) {
$perc = round($value["Quantity"] / $res["Total"] * 100, 2);
$stringa = "%+4s:%+4d\t(<code>%+4g%</code>)\n";
// This work but don't format the text.
$message .= $value["Name"] . ":\t" . $value["Quantity"] . " (<code>" . $perc . "%</code>)\n";
// This dosen't work.
$formatt = sprintf("%+4s:%+4d (<code>%+4g%</code>)", $value["Name"], $value["Quantity"], $perc);
// This dosen't work too.
$formatt = sprintf("%+4s:%+4d (<code>%+4g%</code>)", "aa", 123, 12.3);
$message .= $formatt . "\n";
}
实际结果是:
预期的结果将是:
Atom Seikhart: 4 (10.81%)
Brunhild: 4 (10.81%)
Isis: 3 (8.11%)
Arthur: 1 (2.7%)
Loki: 2 (5.41%)
Chamimi: 1 (2.7%)
Hanzo: 14 (37.84%)
Lucifer: 8 (21.62%)
或喜欢:
Atom Seikhart: 4 (10.81%)
Brunhild: 4 (10.81%)
Isis: 3 (8.11%)
Arthur: 1 (2.7%)
Loki: 2 (5.41%)
Chamimi: 1 (2.7%)
Hanzo: 14 (37.84%)
Lucifer: 8 (21.62%)
解决方案
推荐阅读
- javascript - 如果抛出错误,如何继续沿链运行功能?
- angular - Ionic 5:编译失败 - 无法在环境上下文中声明访问器
- neo4j - Neo4j 事务日志没有被修剪,尽管保留了积极的策略
- javascript - 如何使用 JavaScript 正确编码服务器端和客户端之间的交换数据?
- python - 为什么 Beautiful Soup 没有打印出网站上的文字(路透社),即使网站上清楚地显示了文字?
- unity3d - 从 unity3d 导出到 iOS/Android 时,游戏设计会缩放
- javascript - 如果在外部单击,则隐藏 div,但如果单击显示隐藏的切换 div 则不会
- r - x 值在 R 图中显示错误
- math - 立方体到球体映射(需要反函数)
- python - 无法通过 Selenium 从元素中获取属性('href')