Home > PHP > PHPで文字列をintにグレードアップする

PHPで文字列をintにグレードアップする

  • 2009-06-21 (日) 18:49
  • PHP

PHPでは文字列もインクリメントすることができます。すごいです。


$a = "aaa";
echo ++$a;

結果:


aab

となります。もちろん繰り上がりも大文字小文字も考慮してくれます。


$a = "aaz";
echo ++$a;
echo "\n";
$aA = "AzZ";
echo  ++$aA;

結果:


aba
BaA

ただしひらがなは無理っぽい?カタカナはOKっぽい?感じはダメっぽい?って感じでこの辺はさすがに微妙です。

これとはちょっと違う話で、PHPは数値っぽい文字列を数値に変換して比較するという機能があります。
下記サイトに書いてある話です。
http://d.hatena.ne.jp/fbis/20090618/1245297557


if ("0x0A" == 10) {
   echo "true";
}

結果:


true

これは実は比較演算じゃなくても数値に変換されます。足し算とか、そうインクリメント演算子でも!
ということで、上記の文字列インクリメントと組み合わせると・・・


$a = "0w7";
for ($i = 0; $i < 5; $i++) {
   $a++;
   echo $a;
   echo "\n";
   echo var_dump($a);
}

結果:


0w8
string(3) "0w8"
0w9
string(3) "0w9"
0x0
string(3) "0x0"
1
int(1)
2
int(2)

途中で型がintに変化するという摩訶不思議。・・・はっちゃけすぎだろPHP。

以上

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://red-treasure.com/report/wp-trackback.php?p=450
Listed below are links to weblogs that reference
PHPで文字列をintにグレードアップする from コスミー報告書[社外秘]

Home > PHP > PHPで文字列をintにグレードアップする

Search
Feeds
Meta
 合計:030592
 今日:0100 昨日:0361

Return to page top