解説
substr関数はシングルバイトの文字列を扱う関数なので、マルチバイトの文字列を渡すと意図しない結果となってしまいます。シフトJISコードの全角文字の1文字は、内部的には2バイトとして扱われているので、開始位置の2は「い」、そこから長さ4の文字列は、全角2文字分の「いう」になります。
1文字のバイト数が異なるUTF-8コードなどの文字列を渡した場合は、さらに異なる結果となってしまいます。そこで、PHPではマルチバイト用のmb_substr関数が用意されています。
では!
ハウツー
掲載日
substr関数はシングルバイトの文字列を扱う関数なので、マルチバイトの文字列を渡すと意図しない結果となってしまいます。シフトJISコードの全角文字の1文字は、内部的には2バイトとして扱われているので、開始位置の2は「い」、そこから長さ4の文字列は、全角2文字分の「いう」になります。
1文字のバイト数が異なるUTF-8コードなどの文字列を渡した場合は、さらに異なる結果となってしまいます。そこで、PHPではマルチバイト用のmb_substr関数が用意されています。
では!
「シングルマルチモニター」でプログラマーやデザイナーも作業効率倍増!5Kウルトラワイドモニターの活用術
HHKBキーボード高級化計画 第4回 ラバーカップ交換でHHKBの劣化に挑む
Python利用データサイエンティストのためのVisual Studio Code用拡張パック
人気広告ブロッカー「uBlock Origin」、Chromeでサポート終了の可能性
Windows 11へのアップグレード要件チェック回避を無効化か、Microsoft
開発/エンジニア システムやソフトウェアの開発に携わるエンジニアに向けた最新情報など仕事に役立つ話題などを提供していきます。