意外的T_USE,期待'{'

时间:2012-08-09 06:50:02

标签: php syntax

<?php

$wordFrequencyArray = array();

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

以下是我正在使用的代码片段。

我在第3行遇到错误。我有所有匹配的括号。可能有什么问题?

5 个答案:

答案 0 :(得分:8)

应该是:

$countWords = function($file) use($wordFrequencyArray) {
  //...
};

答案 1 :(得分:8)

只有anonymous functions可能声明了use语句,因此会显示错误消息,警告您需要使用左括号而不是use语句。

要环绕没有use语句,您可以添加更多参数并将其传递给函数,或者在某些情况下将变量称为global

答案 2 :(得分:0)

不是解决方案,而是加入讨论。

我在名称空间声明和使用命令方面苦苦挣扎。最后,我发现问题只是我试图在我将要使用该项目的函数中进行声明。这导致我的脚本失败并出现上述错误消息。将声明移到php脚本的开头之后

答案 3 :(得分:-2)

<?php

$wordFrequencyArray = array();

function countWords($file) {  
global $wordFrequencyArray;
 /* get content of $filename in $content */
 $content = strtolower(file_get_contents($filename));
}

答案 4 :(得分:-2)

使它像:

$wordFrequencyArray = array();

function countWords($file,$wordFrequencyArray)  {
    /* get content of $filename in $content */
    $content = strtolower(file_get_contents($filename));
}