任何人都可以为我提供以下代码行的解决方案:
$filteredArray = array_filter($wordArray, function ($x) {
return !preg_match("/^(.|a|an|and|the|this|at|in|or|of|is|for|to|em|com|be
|with|href|me|rt|by|np|http|www)$/x", $x);
});
这一行在我的localhost中没有使用XAMPP产生任何错误,但是同一行在我的nginx服务器中显示错误(在线)。
我能为此做些什么。为什么会这样?
答案 0 :(得分:2)
听起来您的服务器可能没有运行PHP 5.3或更高版本,这是支持匿名功能所必需的。相反,您可以创建函数并将其作为回调函数字符串传递给array_filter()
。
function wordFilter($x) {
return !preg_match("/^(.|a|an|and|the|this|at|in|or|of|is|for|to|em|com|be
|with|href|me|rt|by|np|http|www)$/x", $x);
}
$filtered_array = array_filter($wordArray, 'wordFilter');
答案 1 :(得分:0)
你的nginx服务器上的php版本太旧了,不能使用匿名函数(闭包 - 至少是PHP 5.3)。您可以使用create_function
在旧版本中创建一个功能,并且该功能在较新版本中也可以使用。