0

我所指的语法检查器是一个简洁的小工具,我用来帮助我在将代码提交到我们的 tortoiseSVN 之前检查我的代码。直到今天,它才让我误入歧途。

我做了一个简单的函数来查找传入的数字的数量级,不完整但包括在下面:

function( $graphMax )
{
$a = (int)log10( $graphMax );
echo "<br><br>GRAPHMAX LOG-10: " . $a . "<br><br>";
$a = pow( 10 , $a );
return $a;
}

这将返回该数量级的最小值(10,000 用于 10,000-99,999 之间的数字)。

我遇到的问题是这部分功能:

$a = (int)log10( $graphMax );

语法检查器说,当我将整个文件复制/粘贴到其中时,语法没有错误,但是当我在我们的服务器上提交并运行它时,我得到:

Parse error: syntax error, unexpected '(', expecting T_STRING in /*/global_functions.php on line 364

根据要求,这是函数上方的代码:

function countSections( $testID )

{ 要求('config.php');

//Connect to database server
$dsl_sqlh = mysql_connect( $dsl_db_host, $dsl_db_user , $dsl_db_pass )
      or die ("Unable to connect");
mysql_select_db ( $dsl_db , $dsl_sqlh) or die ("Unable to select database");

//Get Section ID.
//With this we can query the correct section 
$secQuery = sprintf("SELECT test_section_name FROM v_ak47_test_section WHERE ak47_testhistory_id= $testID and obsolete = 0");
$secResults = mysql_query($secQuery , $dsl_sqlh);
$rows = mysql_num_rows( $secResults );  

if( $rows > 0 )
{   
    return $rows;
}
else
{
    echo "<br><br>Test has no sections! Check test ID provided.<br><br>";
    return null;
}

}

答:我没有命名函数。我不知道我是怎么错过的。现在还早...我需要更多的咖啡:(感谢大家的帮助!对不起,它是如此反气候。我最近的几篇文章都是这样的。

4

2 回答 2

2

你需要给你的函数一个名字

function {ENTER NAME HERE}( $graphMax )
{
   $a = (int)log10( $graphMax );
   echo "<br><br>GRAPHMAX LOG-10: " . $a . "<br><br>";
   $a = pow( 10 , $a );
   return $a;
}
于 2011-07-22T14:03:18.550 回答
1

不同之处很可能是您在服务器上运行 PHP 5.2,但在运行语法检查器时检查了 5.3(默认)。5.2 中不允许使用匿名函数,但 5.3 中允许使用匿名函数。检查 5.2 选项并再次运行语法检查器,您将得到与您报告的相同的错误。

http://php.net/manual/en/functions.anonymous.php

你的语法有效的 5.3,它只是没有做任何事情。

如有疑问,请相信服务器所说的:)

于 2011-07-22T14:05:35.973 回答