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

Php 使用in_array()将单个值与单个列中的多个值进行比较,php,mysql,Php,Mysql,我在一列中保存了多个值,如3,4;3,7;3,12... 与…分离;我知道在一列中有多个逗号值是一个糟糕的解决方案 但在他这一点上却无能为力 我需要比较$value1'3,4'和'3,7'以及'3,12'中的每个值。。。以此类推,与另一个$compare值进行比较。如果$compare在$value1中,我需要打印一行,如果不是,则打印一条消息 我已经测试了mysql查询,它们工作得很好。另外,$value1正确打印字符串。我没有收到任何错误,但是脚本总是打印消息“Nothing”,不管$com

我在一列中保存了多个值,如3,4;3,7;3,12... 与…分离;我知道在一列中有多个逗号值是一个糟糕的解决方案 但在他这一点上却无能为力

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

我已经测试了mysql查询,它们工作得很好。另外,$value1正确打印字符串。我没有收到任何错误,但是脚本总是打印消息“Nothing”,不管$compare的值是多少

抱歉,如果有些术语不正确。我是个彻头彻尾的笨蛋。谢谢

我的代码:

> <?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";
>                   
>               }
>       
>           
> 
> 
>   }
> 
> ?>
>

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


您可以在数组(“$compare”,“$value\u single”)中使用它
并使用脚本tryes来查找$compare字符串,但不查找
$compare
值。

这有什么帮助吗?第二,3,4和“3,4”是两个不同的东西,这就是为什么你总是打其他的。还要正确地分隔代码。天哪!非常感谢!:)