解説
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関数が用意されています。
では!
本当にあったエンジニアの転職体験談
職場で「好かれる」「嫌われる」行動パターン5つ! 共通点は○○だった
AI時代に「必要とされる人材」とは??」4月1日より…
71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?
あなたが「本領発揮できる職種」をサクっと診断!
エンジニアあるある!? システム開発現場・実録IT用語辞典
Windows 11のシェアが26%以下に減少する一方、Windows 10は再び70%まで上昇
ChatGPTがアカウント登録なしで利用可能に
Copilot in Windowsを使ってみよう 第16回 同じプロンプトは違う答えを返す
ゼロからはじめるJavaScript 第31回 美しいソースコードを共有するJSツール「Carbon」を使ってみよう
Windows 10で更新プログラム「KB5034441」に失敗する現象が発生中
開発/エンジニア システムやソフトウェアの開発に携わるエンジニアに向けた最新情報など仕事に役立つ話題などを提供していきます。