2012-05-02 6 views
3

PHPマニュアルの状態: C言語ではなく文字変数の算術演算を扱うとき、PHPはPerlの規則に従います。 たとえば、PHPとPerlの場合、$a = 'Z'; $a++;は$ aを 'AA'に、 をCの中に入れます。a = 'Z'; a++;は、 '[' ' (' Z 'のASCII値は90、' ['は91)のASCII値です。phpが文字をインクリメントする理由を理解する

キャラクタの算術演算を処理するときにPHPが文字をASCII値に変換すると、AAの代わりに '['が出力されますか?なぜ、どのようにしてPHPは文字を増やしますか?

+2

なぜですか?なぜなら、それはそれがそれを行う方法です。どのように?、ソースを読んでください。 – Petah

+0

ああ、その基本的なベース26カウント。 – Petah

+0

それはPerlの規則に従います。つまり、ASCII値で文字を扱いません。それが動作する方法は、いくつかの奇妙な変わり目の副産物ではなく、故意の選択です。 – deceze

答えて

2

PHPはASCII値(仮定)の文字上の算術演算を扱うときに文字を変換する場合...

"0"0がAS等しく扱うためあなたの仮定が偽である、代わりの"0"および48

$ php 
<?php 
echo "0" == 0 ; echo "\n"; 
echo "0" == 48 ; echo "\n"; 
1 
​ 
関連する問題