我所指的语法检查器是neat little tool,我用它来帮助我检查我的代码,然后再将它们交给我们的tortoiseSVN。直到今天它才会让我误入歧途。
我做了一个简单的函数来查找传入的数字的数量级,不完整但包含在下面:
function( $graphMax )
{
$a = (int)log10( $graphMax );
echo "<br><br>GRAPHMAX LOG-10: " . $a . "<br><br>";
$a = pow( 10 , $a );
return $a;
}
这将返回该数量级的最低值(10,000-99,999之间的数字为10,000)。
我遇到的问题是这部分功能:
$a = (int)log10( $graphMax );
语法检查器说当我将整个文件复制/粘贴到语法中时,语法中没有错误,但是当我在服务器上提交并运行它时,我得到:
Parse error: syntax error, unexpected '(', expecting T_STRING in /*/global_functions.php on line 364
根据要求,这是函数上方的代码:
function countSections( $testID )
{ require('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;
}
}
答:我没有说出这个功能。我不知道我是怎么错过的。现在还早......我需要更多的咖啡:(感谢大家的帮助!对不起它是如此反气候。我的最后几篇帖子都是这样的。
答案 0 :(得分: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;
}
答案 1 :(得分:1)
差异很可能是您在服务器上运行PHP 5.2,但在运行语法检查程序时已经检查了5.3(默认)。 5.2中不允许使用匿名函数,但是在5.3中。检查5.2选项并再次运行语法检查程序,您将收到报告的相同错误。
http://php.net/manual/en/functions.anonymous.php
您的语法 有效5.3,它只是没有做任何事情。
如有疑问,请相信服务器所说的内容:)