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

Posted

技术标签:

【中文标题】用php中的两个单词制作字谜【英文标题】:Making anagram from two words in php 【发布时间】:2020-09-26 16:28:40 【问题描述】:

例如: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;
         

     
     

【问题讨论】:

你引用的例子替换了前几个字符,但都以ade结尾 【参考方案1】:

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

然后它在剩下一些内容时循环,并从第一个数组(如果有)添加 1 个字符,与第二个数组相同。每次使用array_shift() 都会从数组中取出第一个元素,因此两者都会返回下一个字符并将其从数组中删除。使用.= 将其添加到输出...

$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;

【讨论】:

以上是关于用php中的两个单词制作字谜的主要内容,如果未能解决你的问题,请参考以下文章

如何检查两个单词是不是是字谜

编写一个字谜查找器(来自 txt 文件中的单词列表)[重复]

在文件中查找给定单词的字谜

查找给定单词的字谜

如何检查两个字符串是不是是字谜?

php - 向字谜求解器添加通配符