允许在阵列
问题描述:
重复键我有一个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数组允许重复键?
答
不,它没有任何意义。
您可以使用array_keys进行检查。
count(array_keys($check, $foo));
count(array_filter($check, function($value)use($foo){return $value==$foo;}));
请花一些时间来阅读[这个问题和答案(http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-功能功能于PHP/14110189#14110189)。 – Marty 2013-05-08 01:29:45
你需要澄清你的问题。 $ foo中的内容以及为什么要检查“活动”列?当你用非唯一值填充你的数组时,你的代码并没有多大意义。 – BrianS 2013-05-08 01:36:34
为什么要检查数组结果?您可以通过添加WHERE ACTIVE = 1(ACTIVE)或WHERE ACTIVE = 0(INACTIVE)来在MySQL查询上过滤它们。 – 2013-05-08 01:36:59