用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中的两个单词制作字谜的主要内容,如果未能解决你的问题,请参考以下文章