我有一个名为" meta_value"的列在mysql表中,其值以逗号分隔格式存储" 1,2,4"。我有一个变量$ v = 2,现在我想检查$ v值是否包含" meta_value"中的值。 第二个逗号分隔字段我在meta_value字段中的第二个逗号分隔值为" 2",现在我想检查$ v是否包含2并且我还有一个变量$ x = 4,我想用meta_value字段的第三个逗号分隔字段检查$ x,有人可以帮我这个吗?
答案 0 :(得分:2)
查看php中explode
函数的文档。您可以获取meta_value列并将其展开然后进行比较,即
$meta = //get your meta_value field data here
$metaArray = explode(",", $meta);
$v == $metaArray[1]
$x == $metaArray[2]
答案 1 :(得分:0)
我假设你得到了" 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