在php中逐个字母合并两个单词.如何让它工作


Merging two words together letter by letter in php. How to make it work?

如何在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,这不是我最擅长的语言…