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 から 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;
}

}

回答: 関数に名前を付けませんでした。どうやってそれを逃したのかわかりません。早いですね... もっとコーヒーが必要です:( みんな助けてくれてありがとう! 気候に逆らってごめんなさい。最近のいくつかの投稿はこんな感じでした.

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 に答える