如何在php中将两个单词逐个字母合并:
输入#1:杏
输入#2:Kiwi
期望输出:AKpirwiicot.
这样,如果一个单词的字符数多于另一个,它就会一直写下去,直到最后。
我试过这样的逻辑:
Input smthing
str_split()
array_merge()
但是我失败了。
$string1
和$string2
可以任意排序
$string1=str_split("Apricot");
$string2=str_split("Kiwi");
if(count($string2)>count($string1)){
$templ = $string1;
$string1 = $string2;
$string2 = $temp;
}
$result = "";
foreach($string1 as $key => $var){
{
$result.=$var;
if(isset($string2[$key])){
$result.$string2[$key];
}
}
echo $result;
Array_merge()
还将一个数组粘在另一个数组的末端,因此我相信它不会做您正在寻找的内容。
编辑:我已经调整了,考虑到没有顺序,像@nikkis的回答。
这个怎么样:
def str_merge(a, b):
s = ''
k = min(len(a), len(b))
for i in range(k):
s += a[i] + b[i]
s += a[k:] + b[k:]
return s
PHP: function merge($a, $b)
{
$s = '';
$k = min(strlen($a), strlen($b));
for($i=0; $i<$k; $i++)
{
$s = $s . $a[$i] . $b[$i];
}
$s = $s . substr($a, $k) . substr($b, $k);
}
请原谅我的PHP,这不是我最擅长的语言…