パンプキンスパイスラテ

IT系のことが多めの日記帳です

Rubyレシピブックを元にPHPで書いてみる.その2

レシピ25 文字列の長さを得る

ソース

<?php
echo ("バイト数=>");
echo strlen("こんにちは、PHP");
echo PHP_EOL;//改行
echo ("文字数=>");
echo mb_strlen("こんにちは、PHP","Shift-JIS");
//コマンドライン実行なので文字エンコード指定しないとおかしな値になる
?>

実行

C:\php\recipe>php 002.php
バイト数=>15
文字数=>9

ちなみにRubyだと・・・

print ("バイト数=>");
print ("こんにちは、Ruby").length;
print ("\n");
print ("文字数=>");
print ("こんにちは、Ruby").split(//).length;
C:\ruby\recipe>ruby -Ks 002.rb
バイト数=>16
文字数=>10

(-KsでShift-JISをセット)
PHPRubyも、正しい文字エンコードでないと文字数がおかしくなる。
あたりまえか。