phpのfor文先頭の式内での0x1、0x2とは
phpのfor文に関して質問させて頂きます。
phpのリファレンスを見ていて、分からない事があります。
[ PHP マニュアル > 言語リファレンス クラスとオブジェクト ]
http://php.net/manual/ja/language.oop5.php
こちらの「User Contributed Notes」の14 redrik at gmail dot comの中に、以下のようなfor文があります。
class FlagsEnum extends Enum {
public function __construct( /*...*/ ) {
$args = func_get_args();
for( $i=0, $n=count($args), $f=0x1; $i<$n; $i++, $f *= 0x2 )
$this->add($args[$i], $f);
}
}
この
for( $i=0, $n=count($args), $f=0x1; $i<$n; $i++, $f *= 0x2 )
の部分ですが、結果を見ると、$fの値を2倍しながらループさせるという感じなのですが、それであれば、なぜ
for( $i=0, $n=count($args), $f=1; $i<$n; $i++, $f *= 2 )
と書かないのでしょうか?
もしかすると値を単純に2倍にしているわけではないのでしょうか?
詳しい方がいらっしゃいましたら、ご教示を宜しくお願いいたします。
お礼
ありがとうございます