如何使用逗号分隔的Php和preg_match选择特定值?

时间:2014-04-22 09:10:12

标签: php mysql preg-match explode

我正在尝试选择以逗号分隔的某个数值。值来自mysql db。我尝试使用爆炸列,但不知道如何捕获某个值。 任何帮助将不胜感激。

代码

$query = mysql_query("SELECT id_array FROM values WHERE id='$id'");

while($result = mysql_fetch_assoc($query))
{
     $get_id = $result['id_array'];
}

$exact = explode(",",$get_id);

1 个答案:

答案 0 :(得分:0)

假设您在列id_array中存储以逗号分隔的值列表,即

12,17,44,13

在你爆炸结果之后,你得到了一个表格数组

$exact is an array: 
(
    [0] => '12'
    [1] => '17'
    [2] => '44'
    [3] => '13'
)

现在您想知道17是否是此数组的元素。对?您可以使用in_array()

执行此操作
$check = in_array(17, $exact);   // true, if found as in my example.
// Please note, that it's important not to search in strict mode.
// Test with 100, not in list
$check = in_array(100, $exact)   // returns false

也许我完全误解了你的问题。在这种情况下,请用示例数据说明您的问题究竟是什么。你尝试了什么以及你遇到了什么。

PS:我不建议在MySQL中存储以逗号分隔的列表,因为不推荐使用mysql_ *函数将是一个好主意。请改用mysqli或PDO。