php - 存储 API 以前的值并与新值进行比较
问题描述
我开发了一个电报机器人,它的工作是在电报组中发布板球比赛的比分。只有在更新新分数时才需要发布分数。我正在尝试将旧分数存储在会话中,然后将其与新分数进行比较。
如果两个值(旧值和新值)不匹配,请在组中发布分数,但由于某种未知原因,它不起作用
这是我的代码
<?php
session_start();
set_time_limit(0);
$token = 'xyz';
$group_name = 'xyz';
while(true){
$ipl = file_get_contents('https://cricket-api.vercel.app/cri.php?url=https://www.cricbuzz.com/live-cricket-scores/37632/dc-vs-csk-50th-match-indian-premier-league-2021');
$ipl_data = json_decode($ipl, true);
$current_score = $ipl_data['livescore']['current'];
if($current_score != $_SESSION['old_score']){
$bot = "https://api.telegram.org/bot{$token}/sendMessage?chat_id={$group_name}&text={$current_score}";
$hit = file_get_contents($bot);
}
$_SESSION['old_score'] = $current_score;
sleep(10);
}
?>
解决方案
看那个
$_SESSION['old_score'] = $current_score;
if($current_score != $_SESSION['old_score'])
您的会话"old_score"
始终等于$current_score
Try first your if
,然后更改会话字段
if($current_score != $_SESSION['old_score']){
}
$_SESSION['old_score'] = $current_score;
推荐阅读
- amazon-web-services - 我们如何在不使用 LoadBalancers 的情况下在 AWS 中向公众公开 Kubernetes 服务?
- autodesk-forge - 从 BIM 360 在自定义查看器中打开模型
- caching - Apollo缓存+自动刷新
- r - 如何对变量名称循环的数据框中不同列的值求和
- typescript - TypeScript 类型保护和“仅指一种类型,但在这里用作值”。
- google-apps-script - 无法调用 null 的方法“getRange”。(第 20 行,文件“代码”)
- c# - 如何在我的测试库中创建和运行虚拟主机?
- sql-server - SQLCMD:!!目录没有输出
- c# - 从 dotnet new webapp --auth Individual -o 自定义 IdentityUser
- postgresql - 在 PostgreSQL 中的表列上执行 foreach 循环