只是想知道是否有人可以帮我解决这个问题... 我希望能够检查某个ID(例如用户是否已登录)这些用户的ID将从表中提取,然后输入数组,然后检查它是否在那里。
然而,当我拉取数据时,if inarray()不再像我在代码中直接键入而不是拉动它一样。
我想提取已批准的ID,以便他们可以访问某个链接!
任何帮助将不胜感激!谢谢!
<?php
mssql_select_db("$ins", $con);
$result = mssql_query("SELECT ID FROM Event WHERE EventPublic LIKE 'Yes' AND EventDate >= GETDATE() -1 ORDER BY EventDate ASC ");
while($row = mssql_fetch_array($result))
{
$test = "". $row['ID'] .",";
}
$tests = explode(',', $test);
if (in_array("2, 48", $tests)) {
echo "WOO";
}
else
{
echo "BOO";
}
mssql_close($con);
?>
答案 0 :(得分:0)
应该是一个实际的数组
in_array(array('2', '48'), $tests)
另外,最好放
$tests = array();
在while循环之前,然后更改循环内的代码以读取
$tests[] = $row['ID'];
然后你可以取消'$ tests = explode(...'行。
答案 1 :(得分:0)
您的in_array测试存在问题,因为您正在比较数组和以下行中的字符串:
if (in_array("2, 48", $tests))
以上行检查数组中是否存在字符串“2,48”。但是数组将有2个作为一个元素,48个作为一个单独的元素。要解决此问题,您可以使用以下内容单独搜索每个元素:
if(in_array('2',$tests) || in_array('48',$tests))