我有这样的功能:
class My_Extension_Model_Subscriber extends Mage_Newsletter_Model Subscriber
{
public function subscribe($email)
{
...
}
}
然后我就像使用它一样:
function in_array_r($item , $array){
return preg_match('/"'.$item.'"/i' , json_encode($array));
}
除非if(in_array_r($row['name'], $items_array)){
// something..
}
包含$row['name']
之类的内容,否则它会起作用,在这种情况下它表示它无法在数组中找到它,即使它存在。
我该如何解决这个问题?
答案 0 :(得分:3)
这是因为输入中的斜杠:blah / blah / something
被视为正则表达式的分隔符。
要解决此问题,您可以使用preg_quote()
转义输入,例如
function in_array_r($item , $array){
return preg_match('/"'. preg_quote($item, "/") .'"/i' , json_encode($array));
}