2011-02-09 27 views
4
$y = 07; 
echo 'Y: '.$y; // result is 7 
$y = 08; 
echo 'Y: '.$y; // result is 0 

view demoなぜ以下の出力に違いがありますか?

:EDIT:そのANSが16であるどのように私はそれを把握することができない

$y = 013; 
echo $y + 5; //this result in 16 

に似

つ以上?誰も助けることができますか?

+0

あなたの番号に0を付ける理由はありますか? –

+0

@Brian Driscoll:理由はありません...私はいくつかのPHP関連の問題を巡ってこの問題に遭遇しました。 –

答えて

6

第1

解析するための規則はIntegers Documentationで説明されています。

PHPでは、0から始まる数字は8進数であるとみなされます。 8進数で08が有効ではありませんので、あなたが取得している2

パートが同じ問題が劇中で、8進数で013は小数で11と11 + 5 = 16

+0

Alker。情報の回答 –

+0

投稿を編集しました –

+0

パート2に回答するように更新しました。 –

0

でありますPHPの整数変数は8進数になります。

http://www.ascii.cl/conversion.htm

ショーyou.iが考えるために便利なこのリンク。

+0

ありがとうございました。 –

関連する問題