用 php 中的两个单词制作字谜

Making anagram from two words in php

例如:a)首先我们从两部分组成一个词

$word1 = 'bel';
$word2 = 'grade';
$newWord = 'belgrade';

b)现在我应该用这个单词拼出字谜,其中两个单词的字母一个一个交替' belgrade -> bgerlade

我用 2 个 for 循环完成了此操作,但我需要自动化解决方案:

 $arr = ['b','e','o', ''];
     $arr1 = ['g', 'r', 'a', 'd'];

    for($i = 0; $i<count($arr); $i++)
    { for($i = 0; $i<count($arr1); $i++)     
{
         if ($i % 2 == 0)
         {
         echo $arr[$i] . $arr1[$i] . PHP_EOL;
         }     
    if ($i % 2 != 0)
        {
            echo $arr[$i] . $arr1[$i] . PHP_EOL;
         }

     }
     }

此代码以两个字符串开头。然后它使用 str_split() 将它们拆分为单个字符数组。

然后在还有一些内容时循环并从第一个数组(如果有的话)中添加 1 个字符,第二个数组也是如此。每次使用 array_shift() 从数组中获取第一个元素,因此 returns 下一个字符以及从数组中删除它。使用 .= ...

将其添加到输出中
$word1 = 'bel';
$word2 = 'grade';

$arr1 = str_split($word1);
$arr2 = str_split($word2);

$output = '';
while( count($arr1)  || count($arr2) )  {
    if ( count($arr1) ) {
        $output .= array_shift($arr1);
    }
    if ( count($arr2) ) {
        $output .= array_shift($arr2);
    }
}
echo $output;