2012-12-17 89 views
0

日期我在MySQL表日期的兩份名單產出如下:比較數組中的PHP

$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]時,它將兩次回顯Hello25,當只有一個選擇應該相等時(數組中的第二個值,第一個位置)。有沒有人有關於如何比較$BetGameDate[$i]$BetDate[]中的所有日期的建議?

任何幫助,非常感謝!

回答

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]中。

+0

都能跟得上......你一定要爲循環做了一倍。這只是將每個索引與彼此進行比較,但如果索引不是相同的順序,則失敗。 – Theolodis

+0

哎呀,你是對的!改變了它;) –

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); 
0
for($BetGameDate as $b) { 
    for($BetDate as $bet){ 
     if($b == $bet) { 
      echo "Hello2"; 
     } 
    } 
} 

這應該與每個BetGameDate的比較每個BetDate的。但我猜array_intersect更容易實現。

編輯:剛纔看到BetDate心不是隻要BetGameDate