2013-05-08 51 views
-2

重複鍵我有一個MySQL表允許在陣列

TABLE

ID USER ACTIVE 
1  Mike 0 
2  Mark 1 
3  Paul 1 
4  John 0 

和結果存儲在陣列的檢查柱(活性)

$check = array(); 
$query1 = mysql_query("SELECT * FROM mod_users"); 
while ($row = mysql_fetch_assoc($query1)) { 
    $check[] = $row['active'];  
} 

我需要檢查陣列結果在一個週期內:

in_array($foo, $check) 

存在一種方法,以爲$ check數組允許重複鍵

+2

請花一些時間來閱讀[這個問題和答案(http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-功能功能於PHP/14110189#14110189)。 – Marty 2013-05-08 01:29:45

+0

你需要澄清你的問題。 $ foo中的內容以及爲什麼要檢查「活動」列?當你用非唯一值填充你的數組時,你的代碼並沒有多大意義。 – BrianS 2013-05-08 01:36:34

+2

爲什麼要檢查數組結果?您可以通過添加WHERE ACTIVE = 1(ACTIVE)或WHERE ACTIVE = 0(INACTIVE)來在MySQL查詢上過濾它們。 – 2013-05-08 01:36:59

回答

0

不,它沒有任何意義。

您可以使用array_keys進行檢查。

count(array_keys($check, $foo)); 

或者array_filter

count(array_filter($check, function($value)use($foo){return $value==$foo;}));