Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较两个PHP数组中的多个值_Php_Arrays_Foreach_Nested_Nested Loops - Fatal编程技术网

比较两个PHP数组中的多个值

比较两个PHP数组中的多个值,php,arrays,foreach,nested,nested-loops,Php,Arrays,Foreach,Nested,Nested Loops,我有两个MySQL数据库,希望使用PHP变量比较数据。我连接到数据库并使用PDO分配变量: //数据库1 包括_once('client-config.php'); 试一试{ $conn=新PDO(DB_主机、DB_用户、DB_密码、数组(PDO::ATTR_PERSISTENT=>TRUE)); $conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常); }捕获(PDO$e){ 回显“连接失败:”。$e->getMessage(); } $D

我有两个MySQL数据库,希望使用PHP变量比较数据。我连接到数据库并使用PDO分配变量:

//数据库1
包括_once('client-config.php');
试一试{
$conn=新PDO(DB_主机、DB_用户、DB_密码、数组(PDO::ATTR_PERSISTENT=>TRUE));
$conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常);
}捕获(PDO$e){
回显“连接失败:”。$e->getMessage();
}
$DB_Name=“pencuy204”;
$login=$\会话['SESS\u login'];
$qry=“选择'BetType'、'RiskAmount'、'WinAmount'、'BetDate'、'GameDate'、'BetRotation'、'TeamParticipant'、'MoneyLine'、'Spread'、'OverUnder'`
从`{$login}}u bet`;
$result=$conn->query($qry);
//如果SQL查询成功执行($result not false)
如果($result!==false){
//解析结果集,并在HTML表中添加每一行和列
foreach($结果为$行){
$BetType[]=$row['BetType'];
$BetRiskAmount[]=$row['RiskAmount'];
$BetWinAmount[]=$row['WinAmount'];
$BetGameDate[]=strottime($row['GameDate']);
$BetTeamParticipant[]=$row['TeamParticipant'];
$BetMoneyLine[]=$row['MoneyLine'];
$BetSpread[]=$row['Spread'];
$BetOverUnder[]=$row['OverUnder'];
}
}
//数据库2
试一试{
需要_once('bet-config.php');
$conn1=新PDO(B_DB_主机、B_DB_用户、B_DB_密码);
$conn1->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常);
}捕获(PDO$e){
回显“连接失败:”。$e->getMessage();
}   
日期默认时区设置('CST');
$today=日期(“Y-m-d”);
$qry=“从游戏中选择'AwayTeam','AwayScore','homesteam','homestore','FeedDate';
$checkit=$conn1->query($qry);
如果($checkit!==false){
foreach($checkit为$row1){
$AwayTeam[]=$row1['AwayTeam'];
$HomeTeam[]=$row1['HomeTeam'];
$AwayScoreData[]=$row1['AwayScore'];
$HomeScoreData[]=$row1['HomeScore'];
$FeedDate[]=strottime($row1['FeedDate']);
}
}
我想做的是遍历数据库1中特定PHP数组中的每个值,比较数据库2中特定数组中的每个值。下面是我正在处理的循环示例:

for($i=0;$i$HomeScoreData[$i]){
$BetV[]=“+”$BetWinAmount[$i];
$BetC[]=intval(“$BetV”);
}
如果($AwayScoreData[$i]==$HomeScoreData[$i]){
$BetV[]=0;
$BetC[]=intval(“$BetV”);
}
}
}
}
}
}
}
}

在此特定示例中,如果
$GameBetDate
等于
$FeedDate
,则下注团队名称等于客场团队名称,下注类型等于某个字符串,然后根据数据库1中该特定下注(行)的风险金额或赢款金额计算下注。我觉得我对foreach的使用是正确的,但是如何正确地使用迭代for循环,根据数据库1中的特定值遍历数据库2中的所有值,如果条件匹配,使用数据库1中的值来计算
$BetC
BetV

我认为您可以在代码中使用一些重构。 要比较值,可以使用array_diff方法。 从第一个表中选择值,(PDO可以返回数组) 选择第二个值并比较


这不是问题。你可能需要先把你的主题改成一个真正的问题,比如“我该怎么做…?”。首先,你的代码对我来说太难看了,我不想读它。第二,要具体,不要编写所有的代码,比如连接和其他一切。修改你的问题,得到更好的答案!我同意阿里的观点,我还有第二个问题。为什么有两个数据库?我想,如果您有一个数据库,让数据库比较值,那么它会变得更容易/更快。使用连接来进行比较怎么样?