概要
閲覧数:3906
投稿日:2014-05-12
更新日:2014-05-12
配列の内容(ひらがな)を、読み(あ行~わ行)で分け、新たな配列へ格納
コード
$iro = array('おれんじ','あか','きいろ','みどり','きみどり','くろ','しろ','ぴんく','びりじあん');// チェックする文字列。preg_match第2引数
// 正規表現パターン。preg_match第1引数
$kana = array(
"あ行" => "[あ-お]",// 正規表現パターン … あ行の文字にマッチ
"か行" => "[か-こが-ご]",
"さ行" => "[さ-そざ-ぞ]",
"た行" => "[た-とだ-ど]",
"な行" => "[な-の]",
"は行" => "[は-ほば-ぼぱ-ぽ]",
"ま行" => "[ま-も]",
"や行" => "[や-よ]",
"ら行" => "[ら-ろ]",
"わ行" => "[わ-ん]",
"その他" => ".*"
);
$result = array();// 新しい配列を作成
foreach ($iro as $value) {
$match = false;
foreach ($kana as $index => $pattern) {
if (preg_match("/^" . $pattern . "/u", $value)) {// デリミタは「/」。$iro要素を順番に、$kana値にマッチするか確認していく。
$result[$index][] = $value;
$match = true;
break;
}
}
}
print_r($result);結果
Array
(
[あ行] => Array
(
[0] => おれんじ
[1] => あか
)
[か行] => Array
(
[0] => きいろ
[1] => きみどり
[2] => くろ
)
[ま行] => Array
(
[0] => みどり
)
[さ行] => Array
(
[0] => しろ
)
[は行] => Array
(
[0] => ぴんく
[1] => びりじあん
)
)