使用in_array()将单个值与单列中的多个值进行比较

时间:2014-02-03 12:34:32

标签: php mysql

我有多个值保存在一列中,如3,4; 3,7; 3,12 ...分开;我知道这是一个糟糕的解决方案,在一列中有多个逗号值 但在他的观点上无法帮助它。

我需要比较$ value1'3,4'和'3,7'和'3,12 ......中的每个值,依此类推另一个值$ compare。如果$ compare在$ value1中,我需要打印一行,如果不是 - 则是一条消息。

我测试了mysql查询,它们工作得很好。另外$ value1正确打印字符串。我没有错误,但无论$ compare是什么值,脚本总是会打印消息“Nothing”。

很抱歉,如果某些条款不正确。我是一个总菜鸟。谢谢!

我的代码:

> <?php  
>
> $compare = 3,4; 
> 
> while($row = mysql_fetch_array($result))
> 
>       {
> 
>       $value1 = $row['value1'];
>                       $value_single = array_map('trim', explode(';', $value1));
>                       if (in_array('$compare', $value_single))
>               
>               {
>               
>               echo $row['value2'];                    
>       
>               }
>               else
>               
>               {
>                   
>               echo "Nothing";
>                   
>               }
>       
>           
> 
> 
>   }
> 
> ?>

1 个答案:

答案 0 :(得分:1)

一个引用字符串'$compare'不解析$ compare变量,如果需要在字符串中使用解析变量,请使用$compare或双引号"$compare"

您可以在此处使用in_array('$compare', $value_single)和脚本试用以查找 $ compare 字符串,但不能找到$compare值。