LoginSignup
1

More than 1 year has passed since last update.

posted at

updated at

PHP で文字列を走査する

はじめに

文字列を先頭から順に一文字ずつ走査し、何らかの処理を行いたいケースがしばしばあります。いや、ないかな...。

マルチバイト文字を含む可能性がある場合

<?php
    $s = "あいうえお";
    for ($i = 0; $i < mb_strlen($s); $i++) {
        $char = mb_substr($s, $i, 1, 'UTF-8');
        echo "$i: $char \n";
    }

他の方法。

PHP_4.2.0_以降
<?php
    $s = "あaいbうcえdお";
    foreach (preg_split('//u', $s, null, PREG_SPLIT_NO_EMPTY) as $i => $chr) {
        echo "$i : $chr\n";
    }

マルチバイト文字を絶対に含まない場合

<?php
    $s = "ABCDE";
    foreach (str_split($s, 1) as $i => $char) {
        echo "$i: $char\n";
    }

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1