我正在尝试匹配包含以下内容的数组:
[title] => Something (12) Pieces
带有$item
字符串的还包含此函数的Something (12) Pieces
:
function in_array_r($item , $array){
return preg_match('/"'. $item .'"/i' , json_encode($array));
}
但它并没有给我一个匹配,即使它们是相同的。我做错了什么?
答案 0 :(得分:1)
您需要做的是转义字符,这是RegEx特有的。要实现此目的,您可以使用preg_quote
函数,但请注意,如果您没有通过使用的分隔符(在您的情况下preg_quote
,分隔符不会被/
转义。 1}})到第二个参数。
function in_array_r($item , $array){
return preg_match('/"'. preg_quote($item, '/') .'"/i' , json_encode($array));
}
答案 1 :(得分:0)
我认为您的方法是错误的,您只想将数组转换为JSON,以检查数组中是否存在值。这是浪费资源,特别是如果阵列很大的话。
另一种方式(在我看来似乎更合乎逻辑)包括使用循环遍历数组的递归函数:
$("#SecondDiv").show();