允许在阵列

问题描述:

重复键我有一个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

不,它没有任何意义。

您可以使用array_keys进行检查。

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

或者array_filter

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