2017-01-12 128 views
-4

我有一個功能,即語法錯誤,意外「 - 」(T_STRING)

function cdec($num) { 
for ($n = 0 ; $n < strlen($num) ; $n++) { 
$temp = $num[$n]; 
$dec = $dec + $temp*pow(2 , strlen($num) – $n – 1); 
} 
return $dec; 
} 

當我要運行我的代碼,然後它顯示我此錯誤

Parse error: syntax error, unexpected '–' (T_STRING)

我不不知道我的錯在哪裏。它是示值誤差在這一行

$dec = $dec + $temp*pow(2 , strlen($num) – $n – 1);

+2

什麼語言?請標記你的問題 – xbonez

+2

減('-')和連字符('-')是不同的字符 –

+0

我已經使它像$ dec = $ dec + $ temp * pow(2,strlen($ num)( - )) $ n( - )1);仍然顯示我另一個錯誤解析錯誤:語法錯誤,意外的'('in' –

回答

0

試試這個

function cdec($num) { 
    $dec = ''; 
    for ($n = 0 ; $n < strlen($num) ; $n++) { 
     $temp = $num[$n]; 
     $dec = $dec + $temp*pow(2 , strlen($num) - $n - 1); 
    } 
    return $dec; 
} 

兩個減號實際上是連字符的跡象。

+0

我已經使用過你的函數,現在它顯示的是未定義變量:dec –

+0

其實,那是因爲我們在循環中定義了$ dec。所以我在之前的循環中定義並現在看到。 –

+0

謝謝,現在它工作正常 –

-1

使用圓括號單獨的數學運算:

function cdec($num) { 
    $dec = 0; 
    for ($n = 0 ; $n < strlen($num) ; $n++) { 
     $temp = $num[$n]; 
     $dec = $dec + ($temp*(pow(2 , ((strlen($num) - $n) - 1)))); 
    } 
    return $dec; 
} 
相關問題