php中的解析错误未在localhost(xampp)中显示但在nginx服务器中显示

时间:2012-04-26 18:17:43

标签: php parsing

任何人都可以为我提供以下代码行的解决方案:

 $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服务器中显示错误(在线)。

我能为此做些什么。为什么会这样?

2 个答案:

答案 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在旧版本中创建一个功能,并且该功能在较新版本中也可以使用。