2012-04-26 13 views
0

は誰もが私のコードの下の行のためのソリューションを与えることができますnginxのサーバーにshowinない:パースエラーは、(XAMPP)はlocalhostに示すが、

$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); 
}); 

XAMPPを使用して、私のローカルホストのいずれかのエラーを生成していない。このラインしかし、同じ行が私のnginxサーバー(オンライン)にエラーを表示しています。

これを行うにはどうすればよいですか。なぜこれが表示されますか?

+0

エラーは何ですか? –

+0

構文解析エラー:予期せぬ構文エラーT_FUNCTION in /hermes/bosweb26c/b2656/nf.theonlytutorialscom/agurchand/solutions/gootwit/test.php on line – agurchand

+1

あなたのnginxサーバーにはどのバージョンのPHPがありますか?匿名関数は5.3でのみ有効 –

答えて

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'); 
+0

ありがとうございます。 – agurchand

0

nginxサーバーのPHPのバージョンが古すぎて、匿名関数を使用できません(クロージャ - 少なくともPHP 5.3以上)が必要です。 create_functionを使用して古いバージョンの関数を作成することはできますが、新しいバージョンでも機能します。

関連する問題