6
<?php

$wordFrequencyArray = array();

function countWords($file) use($wordFrequencyArray) {  //error here
    /* get content of $filename in $content */
    $content = strtolower(file_get_contents($filename));

これが私が使用しているコードのスニペットです。

3行目でエラーが発生します。一致する中括弧がすべてあります。何が問題なのですか?

4

5 に答える 5

11

そのはず:

$countWords = function($file) use($wordFrequencyArray) {
  //...
};
于 2012-08-09T06:54:30.203 に答える
9

匿名関数のみがステートメントを宣言できるuseため、ステートメントの代わりに左角かっこが必要であることを警告するエラーメッセージが表示されますuse

ステートメントがない状態を回避するuseには、パラメーターを追加して関数に渡すか、場合によっては変数をグローバルとして呼び出します。

于 2012-08-09T06:55:00.730 に答える
0

解決策ではありませんが、議論に追加します。

名前空間の宣言と使用コマンドで苦労しました。結局、問題は、アイテムを使用する関数で宣言を作成しようとしたことだけであることがわかりました。これにより、スクリプトが失敗し、上記のエラーメッセージが表示されました。宣言をphpスクリプトの先頭に移動します

于 2013-09-09T10:16:44.887 に答える
-2

試す

<?php

$wordFrequencyArray = array();

function countWords($file) {  
global $wordFrequencyArray;
 /* get content of $filename in $content */
 $content = strtolower(file_get_contents($filename));
}
于 2012-08-09T06:55:18.250 に答える
-2

次のようにします。

$wordFrequencyArray = array();

function countWords($file,$wordFrequencyArray)  {
    /* get content of $filename in $content */
    $content = strtolower(file_get_contents($filename));
}
于 2012-08-09T06:56:31.507 に答える