落書きノート

ふと自分が気になった事を書いてます

PHP 全角文字(漢字)列の長さ

strlenとmb_strlenを使ったプログラムです。strlenはバイト数で文字列の長さを取得するのに対し、mb_strlenは文字数で長さを取得します。

<html>
<head>
  <title>全角文字(漢字)列の長さ</title>
</head>
<body>
  <?php
  $ken = array("岡山県", "東京都", "和歌山県", "北海道", "oosakafu");
  ?>
  <table border="2">
    <tr>
      <th>都道府県</th>
      <th>strlen</th>
      <th>mb_strlen</th>
    </tr>
    <?php
    foreach($ken as $ban){
      print "<tr><td>{$ban}</td>";
      print "<td>";
      print strlen($ban);
      print "</td>";
      print "<td>";
      print mb_strlen($ban, 'UTF-8');
      print "</td></tr>\n";
    }
     ?>
  </table>
</body>
</html>

ちなみにUTF-8は省略出来ます。

20160208223558