データに誤りがないかチェックしたり、文字列を比較して処理したり、正規表現など。
あ、正規表現は量が多くなったのでこちらに移動。
文字列の比較
データのチェックをしたり、文字列の長さを調べたり。
strlen()では英字しか正常にカウントできないが、mb_strlen()を使えば日本語も正しくカウントできる。
実行結果を確認するにはこちら
<?php $cake1 = array('tart','apple-pie','chocolate-cake','donut','cheese-cake'); $cake2 = array('タルト','アップルパイ','チョコレートケーキ','ドーナッツ','チーズケーキ'); mb_language('ja'); mb_internal_encoding('UTF-8'); ?>
ケーキ名(英) | strlen() | ケーキ名(日) | strlen() | mb_strlen() | |
---|---|---|---|---|---|
![]() | ';
echo ''.$c1.' | '; echo strlen($c1); echo ' | '; echo ''.$c2.' | '; echo strlen($c2); echo ' | '; echo mb_strlen($c2); echo ' |
- mb_strlen()のようにmb_がついたものをマルチバイト文字列関数という
文字列の変換
大文字から小文字、小文字から大文字、逆順、指定文字列だけ表示など。
mb_strtoupper()等のマルチバイト文字列関数を使えば日本語も変換できる。
実行結果を確認するにはこちら
<?php $cake = array('tart','apple-pie','chocolate-cake','donut','cheese-cake','タルト','アップルパイ','チョコレートケーキ','ドーナッツ','チーズケーキ'); mb_language('ja'); mb_internal_encoding('UTF-8'); ?>
ケーキ名 | 大文字 | 小文字 | 逆順 | 前から3文字 |
---|---|---|---|---|
'.$ca.' | strtoupper()→';
//大文字に変換(英字)
echo strtoupper($ca);
echo ' mb_strtoupper()→'; //大文字に変換(日本語) echo mb_strtoupper($ca); echo ' | strtotolower()→';
//小文字に変換(英字)
echo strtolower($ca);
echo ' mb_strtotolower()→'; //小文字に変換(日本語) echo mb_strtolower($ca); echo ' | strrev()→'; //逆順に変換 echo strrev($ca); echo ' | substr()→';
//前から3文字だけ
echo substr($ca,0,3);
echo ' mb_substr()→'; echo mb_substr($ca,0,3); echo ' |