簡體   English   中英

如何比較從兩個不同的提取數組中檢索到的值

[英]how to compare values retrieved from two different fetch array

我有兩個從數據庫中檢索到的提取數組,並嘗試比較兩個值,直到它們匹配為止,但是似乎很難弄清楚我哪里寫錯了。

這兩個數據庫最多有2個jobrequestnumber,因此,匹配的數目據說是2,但是只計一個(如下所示)。

 $value1=array();
 $value2 =array();

 $queryfordispatch = "select jobrequestnumber from dispatch";
 $resultfordispatch = mysql_query($queryfordispatch);
 $valuefordispatch =mysql_fetch_array($resultfordispatch);
 $value1 = $valuefordispatch['jobrequestnumber'];

 $queryforjobrequest = "select jobrequestnumber from jobrequest";
 $resultforjobrequest = mysql_query($queryfordispatch);
 $valueforjobrequest =mysql_fetch_array($resultforjobrequest);
 $value2 = $valueforjobrequest['jobrequestnumber'];

 $cfd=count($valuefordispatch);
 $cfj=count($valueforjobrequest);

//在此for循環中,如果我嘗試回顯$ value1的值,則只會產生值“ 1”

for($i=1; $i<=$cfd; $i++){
for($j=1; $j<=$cfj; $j++){
if ($value1 == $value2 ){

    $queryforupdate ="UPDATE jobrequest SET status = 'processed' where jobrequestnumber = $value2 ";
    mysql_query($queryforupdate);
  }
 }
}

所以我期望的結果是

Jobnum

 1=1? yes --> update
 1=2? no  --> discard
 2=1? no  --> discard
 2=2? yes --> update

如果要查看array1和array2是否共享值,請使用類似以下的內容。

$a = array('1','2','3','4','5','6','7','8','9');
$b = array('A','B','C','4','5','6','7','E','F');
$num_shared = 0;

foreach($a as $key => $val) {
    if (in_array($val, $b)) {
        echo $val . '<br />';
        $num_shared++;
    }
}

echo '<strong>'. $num_shared . '</strong>';

讓我們從這個開始:

歡迎使用Stack Overflow! 請不要在新代碼中使用mysql_*函數 它們不再維護,已正式棄用 看到紅色框了嗎? 相反,要了解准備好的語句 ,並使用PDOMySQLi- 本文將幫助您確定哪一個。 如果您選擇PDO, 這是一個很好的教程

至於找到兩個數組之間的差異 ,可以始終使用array_diff

 <?php //Example #1 array_diff() example $array1 = array("a" => "green", "red", "blue", "red"); $array2 = array("b" => "green", "yellow", "red"); $result = array_diff($array1, $array2); print_r($result); ?> 

$ array1中的多次出現都以相同的方式處理。 這將輸出:

 Array ( [1] => blue ) 

但是,要分別比較每個值,您需要同時遍歷兩個數組(最好使用for循環),並比較每個項目。 這是您已經在做的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM