2017-01-12 2 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); все еще показывая мне другую ошибку Parse error: синтаксическая ошибка, неожиданная '(' в –

ответ

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 in loop. поэтому я определил в предыдущем цикле и теперь вижу. –

+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; 
} 
Смежные вопросы