Как объединить два слова вместе буквой в php следующим образом:
Вход №1: абрикос
Вход №2: Киви
Ожидаемый результат: 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()
также Array_merge()
один массив на конце другого, чтобы он не делал то, что вы ищете, я верю.
Изменение: ive скорректировано, чтобы не принимать во внимание порядок, например, ответить @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, а не мой самый сильный язык...