我在MySQL表中有两个日期列表,其中包含以下输出:
$BetDate - array(25) { [0]=> int(1355468400) [1]=> int(1355468400) [2]=> int(1355468400) [3]=> int(1355468400) [4]=> int(1355468400) [5]=> int(1355468400) [6]=> int(1355295600) [7]=> int(1355295600) [8]=> int(1355295600) [9]=> int(1355295600) [10]=> int(1355468400) [11]=> int(1355468400) [12]=> int(1355209200) [13]=> int(1355209200) [14]=> int(1355209200) [15]=> int(1355295600) [16]=> int(1355209200) [17]=> int(1355209200) [18]=> int(1355468400) [19]=> int(1355468400) [20]=> int(1355554800) [21]=> int(1355554800) [22]=> int(1355554800) [23]=> int(1355554800) [24]=> int(1355554800) }
array(25) { [0]=> string(10) "2012-12-14" [1]=> string(10) "2012-12-14" [2]=> string(10) "2012-12-14" [3]=> string(10) "2012-12-14" [4]=> string(10) "2012-12-14" [5]=> string(10) "2012-12-14" [6]=> string(10) "2012-12-12" [7]=> string(10) "2012-12-12" [8]=> string(10) "2012-12-12" [9]=> string(10) "2012-12-12" [10]=> string(10) "2012-12-14" [11]=> string(10) "2012-12-14" [12]=> string(10) "2012-12-11" [13]=> string(10) "2012-12-11" [14]=> string(10) "2012-12-11" [15]=> string(10) "2012-12-12" [16]=> string(10) "2012-12-11" [17]=> string(10) "2012-12-11" [18]=> string(10) "2012-12-14" [19]=> string(10) "2012-12-14" [20]=> string(10) "2012-12-15" [21]=> string(10) "2012-12-15" [22]=> string(10) "2012-12-15" [23]=> string(10) "2012-12-15" [24]=> string(10) "2012-12-15" }
$BetGameDate - array(4) { [0]=> int(1355554800) [1]=> int(1355468400) [2]=> int(1355900400) [3]=> int(1355554800) }
array(4) { [0]=> string(10) "2012-12-15" [1]=> string(10) "2012-12-14" [2]=> string(10) "2012-12-19" [3]=> string(10) "2012-12-15" }
以下是我的一些PHP代码:
foreach($checkit as $row1) {
$BetDate[] = strtotime($row1['BetDate']);
}
foreach($result as $row) {
$BetGameDate[] = strtotime($row['GameDate']);
}
for($i=0; $i<=$count; $i++) {
if($BetDate==$BetGameDate[$i]) {
echo "Hello2";
}
}
但是,我想以下列方式比较日期:我想循环浏览$BetGameDate
,看看$BetDate
中的任何日期是否与$BetGameDate
的第i个选项匹配。我所拥有的代码并没有回应结果,而我真正感到困惑的是当我在if语句中将$BetDate
更改为$BetDate[$i]
时,它只回显了Hello2两次,当时只有一个选择应该相等(第二个值,数组中的第一个位置)。有人建议如何将$BetGameDate[$i]
与$BetDate[]
中的所有日期进行比较吗?
非常感谢任何帮助!
答案 0 :(得分:1)
尝试此功能:array_intersect
答案 1 :(得分:0)
这很简单:
<?php
$array1 = array('1', '2', '3');
$array2 = array('0', '2', '0');
$length = count($array1);
for ($i = 0; $i < $length; $i++) {
$key = array_search($array1[$i], $array2);
if ($key != null && $key > 0) {
echo 'HELLO 2';
}
}
?>
只需将您的$ BetDate更改为$ BetDate [$ i]。
答案 2 :(得分:0)
不确定为什么要在BetDate的for循环中迭代GameDate中的结果列表。
我想你可能会这样做:
foreach($checkit as $row1) {
$BetDate[] = strtotime($row1['BetDate']);
}
foreach($result as $row) {
$BetGameDate[] = strtotime($row['GameDate']);
}
$matchArray = array_intersect($BetDate, $BetGameDate);
答案 3 :(得分:0)
for($BetGameDate as $b) {
for($BetDate as $bet){
if($b == $bet) {
echo "Hello2";
}
}
}
这应该将每个BetDate与每个BetGameDate进行比较。但我想array_intersect更容易实现。
编辑:刚看到BetDate不和BetGameDate一样长。