我有多个值保存在一列中,如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";
>
> }
>
>
>
>
> }
>
> ?>
答案 0 :(得分:1)
一个引用字符串'$compare'
不解析$ compare变量,如果需要在字符串中使用解析变量,请使用$compare
或双引号"$compare"
。
您可以在此处使用in_array('$compare', $value_single)
和脚本试用以查找 $ compare 字符串,但不能找到$compare
值。