Как слить два слова вместе по буквам в 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()
Я также придерживаюсь одного массива на конце другого, чтобы он не делал то, что вы ищете.
изменить: я настроен, чтобы принять во внимание нет порядка, как @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, а не мой самый сильный язык …