0

誰かが私に以下のコード行の解決策を教えてもらえますか?

 $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サーバー(オンライン)でエラーを示しています。

私はこれのために何ができますか。なぜこれが表示されているのですか?

4

2 に答える 2

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');
于 2012-04-26T18:31:34.203 に答える
0

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

于 2012-04-26T18:31:24.813 に答える