比较变量中存储的值与php中mysql字段的值


Compare a value stored in variable to mysql field value in php

我在mysql表中有一个名为"meta_value"的列,其值以逗号分隔的格式存储"1,2,4"。我有一个变量$v=2,现在我想检查$v值是否包含"meta_value"中的值第二逗号分隔字段我在meta_value字段中的第二个逗号分隔值是"2",现在我想检查$v是否包含2,我还有一个变量$x=4,我想检查$x与第三逗号分隔字段的meta_value字段,有人可以帮助我吗?

查看php中explode函数的文档。你可以获取meta_value列并展开它然后进行比较,也就是

$meta = //get your meta_value field data here
$metaArray = explode(",", $meta);
$v == $metaArray[1]
$x == $metaArray[2]

我假设你从数据库中得到了"meta_value"值…

$val = $meta_value;
$newMeta = explode(",", $val);
$v = "2";
$x = "4";
for($i = 0; $i < count($newMeta); $i++){
    if($newMeta[$i] == $v){
        echo "found 2";
    }elseif ($newMeta[$i] == $x) { 
        echo "found 4";
    }else{
        echo "not here";
    }
    //or do it like this:
    //echo $newMeta[$i] == $v1 ? "found 2" : ($newMeta[$i] == $v2 ? "found 4" : "not here");
}

查看PHP文档了解更多细节:http://www.php.net//manual/en/function.explode.php