當需要將兩個字串按字元交錯合併(如 aaaa + bbbb → abababab)時,PHP 沒有內建函數直接支援。本文提供一個 MergeBetween() 函數,展示如何透過字元分割、長度對齊與陣列操作實現此需求。
核心步驟:
str_split($str, 1) 將兩字串拆為單字元陣列。implode('') 合併為字串返回。function MergeBetween($str1, $str2) {
$str1 = str_split($str1, 1);
$str2 = str_split($str2, 1);
// 確保 $str1 較短,$str2 較長
if (count($str1) >= count($str2)) {
list($str1, $str2) = [$str2, $str1];
}
for ($x = 0; $x < count($str1); $x++) {
$str2[$x] .= $str1[$x];
}
return implode('', $str2);
}
// 測試範例
echo MergeBetween('abcdef', '__') . "\n"; // a_b_cdef
echo MergeBetween('__', 'abcdef') . "\n"; // a_b_cdef
echo MergeBetween('bb', 'aa') . "\n"; // baba
echo MergeBetween('aa', 'bb') . "\n"; // abab
echo MergeBetween('a', 'b') . "\n"; // ab
此函數展示了 PHP 陣列操作的靈活性,掌握此類字元級處理技巧,有助於解決特殊格式化需求。