PHPのたしざん(shinhさんのにきより)
Bug #61095 PHP can't add hex numbers
via PHPのたしざん - はじめてのにき
$ php -r 'echo (0x00+2);echo "\n";' 4 $ php -r 'echo (0x00+ 2);echo "\n";' 2 $ php -r 'echo (0x00 + 2);echo "\n";' 2 $ php -r 'echo (0x00 +2);echo "\n";' 4
0x00 は0x0 でもよくて、+2 は +1でも+2でも+10でも…なぜか+ffffとかでもよくて、でも+の後はスペースあけちゃ駄目みたい。-2とか負の値でも行ける。行けるって何がだw
$ php -r 'echo 0x0 +2; echo "\n";' 4 $ php -r 'echo 0x0 +4; echo "\n";' 8 $ php -r 'echo 0x0 +6; echo "\n";' 12 $ php -r 'echo 0x0 +8; echo "\n";' 16 $ php -r 'echo 0x0 +10; echo "\n";' 26 $ php -r 'echo 0x0 +100; echo "\n";' 356
2倍になってるとかじゃなくて、10進で評価した値と16進で評価した値の和になってる感じですね…
うちのPHPのバージョンは
$ php -v PHP 5.3.6 with Suhosin-Patch (cli) (built: Sep 8 2011 19:34:00) Copyright (c) 1997-2011 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies