當前位置: 首頁> 最新文章列表> 如何使用mb_str_split函數來拆分多字節字符串,步驟和示例詳解

如何使用mb_str_split函數來拆分多字節字符串,步驟和示例詳解

gitbox 2025-09-19
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 這裡是與文章內容無關的PHP代碼示例</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"歡迎使用PHP多字節字符串拆分教程!"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/*
文章標題:如何使用mb_str_split函數來拆分多字節字符串,步驟和示例詳解
*/</span>

</span><span><span class="hljs-comment">// 在PHP中處理多字節字符串時,普通的字符串函數可能無法正確識別中文、日文、韓文等字符。</span></span><span>
</span><span><span class="hljs-comment">// 從PHP 7.4開始,提供了mb_str_split函數,專門用於將多字節字符串拆分成單個字符或指定長度的子串。</span></span><span>

</span><span><span class="hljs-comment">// 1. 基本用法</span></span><span>
</span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"你好,世界界!"</span></span><span>;
</span><span><span class="hljs-variable">$chars</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_str_split</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"基本拆分結果:\n"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$chars</span></span><span>);

</span><span><span class="hljs-comment">// 輸出結果:</span></span><span>
</span><span><span class="hljs-comment">// Array</span></span><span>
</span><span><span class="hljs-comment">// (</span></span><span>
</span><span><span class="hljs-comment">//     [0] =&gt; 你</span></span><span>
</span><span><span class="hljs-comment">//     [1] =&gt; 好</span></span><span>
</span><span><span class="hljs-comment">//     [2] =&gt; ,</span></span><span>
</span><span><span class="hljs-comment">//     [3] =&gt; 世界</span></span><span>
</span><span><span class="hljs-comment">//     [4] =&gt; 界</span></span><span>
</span><span><span class="hljs-comment">//     [5] =&gt; !</span></span><span>
</span><span><span class="hljs-comment">// )</span></span><span>

</span><span><span class="hljs-comment">// 2. 指定長度拆分</span></span><span>
</span><span><span class="hljs-comment">// 可以通過第二個參數指定每段子串的長度</span></span><span>
</span><span><span class="hljs-variable">$parts</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_str_split</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"每兩字符拆分結果:\n"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$parts</span></span><span>);

</span><span><span class="hljs-comment">// 輸出結果:</span></span><span>
</span><span><span class="hljs-comment">// Array</span></span><span>
</span><span><span class="hljs-comment">// (</span></span><span>
</span><span><span class="hljs-comment">//     [0] =&gt; 你好</span></span><span>
</span><span><span class="hljs-comment">//     [1] =&gt; ,世界</span></span><span>
</span><span><span class="hljs-comment">//     [2] =&gt; 界!</span></span><span>
</span><span><span class="hljs-comment">// )</span></span><span>

</span><span><span class="hljs-comment">// 3. 設置字符編碼</span></span><span>
</span><span><span class="hljs-comment">// mb_str_split默認使用內部字符編碼(通常是UTF-8),也可以指定編碼</span></span><span>
</span><span><span class="hljs-variable">$charsUtf8</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_str_split</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">"UTF-8"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"UTF-8編碼拆分結果:\n"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$charsUtf8</span></span><span>);

</span><span><span class="hljs-comment">// 4. 應用場景示例</span></span><span>
</span><span><span class="hljs-comment">// - 對用戶輸入的多字節字符串進行逐字符處理,如表情過濾或敏感詞檢查</span></span><span>
</span><span><span class="hljs-comment">// - 將字符串拆分後逐個顯示在界面上</span></span><span>
</span><span><span class="hljs-comment">// - 統計多字節字符串長度並進行切分</span></span><span>

</span><span><span class="hljs-comment">// 示例:統計字符串長度</span></span><span>
</span><span><span class="hljs-variable">$length</span></span><span> = </span><span><span class="hljs-title function_ invoke__">count</span></span><span>(</span><span><span class="hljs-title function_ invoke__">mb_str_split</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>));
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"字符串長度為: "</span></span><span> . </span><span><span class="hljs-variable">$length</span></span><span> . </span><span><span class="hljs-string">" 個字符\n"</span></span><span>;

</span><span><span class="hljs-comment">// 總結:</span></span><span>
</span><span><span class="hljs-comment">// mb_str_split是處理多字節字符串的高效工具,能够避免使用传统函數可能出现的乱码问题。</span></span><span>
</span><span><span class="hljs-comment">// 只需傳入字符串,按需設置每段長度和編碼,即可輕鬆完成拆分任務。</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>