在PHP中从两个字符串重新组合字母

在PHP中从两个字符串重新组合字母,php,arrays,string,Php,Arrays,String,我有两条线。 一个是“aaee-Gg”,另一个是“aaee”。两者都是毛色的遗传 我想从两者中产生一个新的组合。新字符串需要有每个字符串的“一个字母” 例如A和A,E和E,G和(-) 我尝试将字符串放入数组中,然后使用这些数组生成一个新字符串 这可能是一个稍微模糊的解决方案,但它提供了您想要的结果: $first='Aa ee Gg'; $second='aaee'; $tokens=数组映射(函数($a,$b){ 报税表($a[0]?:'-')。($b[0]?:'-'); },爆炸(“”,$f

我有两条线。 一个是“
aaee-Gg
”,另一个是“
aaee
”。两者都是毛色的遗传

我想从两者中产生一个新的组合。新字符串需要有每个字符串的“一个字母”

例如
A
A
E
E
G
和(-)


我尝试将字符串放入数组中,然后使用这些数组生成一个新字符串

这可能是一个稍微模糊的解决方案,但它提供了您想要的结果:

$first='Aa ee Gg';
$second='aaee';
$tokens=数组映射(函数($a,$b){
报税表($a[0]?:'-')。($b[0]?:'-');
},爆炸(“”,$first),爆炸(“”,$second));
$string=内爆(“”,$tokens);
变量转储($string);
这将产生:

string(8) "AA eE G-"
快速解释:

  • 您可以从两个字符串开始,分别是
    $first
    $second
    ,以及要组合的值
  • 在空白处分解每个字符串,分别创建两个数组,
    ['Aa',ee',Gg']
    ['Aa',ee']
  • 用于对两个数组的每个元素应用回调
  • 在PHP中,可以使用数组解引用语法(
    $arr[0]
    )来解引用字符串中的字符。在这里,我们使用两个函数来返回当前字符串中的第一个字符,如果没有字符,则返回“-”
  • array\u map()
    返回字符串数组,在本例中为
    ['AA','eE','Gg']
  • 最后,
    内爆()
    将数组放入字符串
    “AA eE G-”

  • 希望这有帮助:)

    这可能是一个有点模糊的解决方案,但它会为您提供您想要的结果:

    $first='Aa ee Gg';
    $second='aaee';
    $tokens=数组映射(函数($a,$b){
    报税表($a[0]?:'-')。($b[0]?:'-');
    },爆炸(“”,$first),爆炸(“”,$second));
    $string=内爆(“”,$tokens);
    变量转储($string);
    
    这将产生:

    string(8) "AA eE G-"
    
    快速解释:

  • 您可以从两个字符串开始,分别是
    $first
    $second
    ,以及要组合的值
  • 在空白处分解每个字符串,分别创建两个数组,
    ['Aa',ee',Gg']
    ['Aa',ee']
  • 用于对两个数组的每个元素应用回调
  • 在PHP中,可以使用数组解引用语法(
    $arr[0]
    )来解引用字符串中的字符。在这里,我们使用两个函数来返回当前字符串中的第一个字符,如果没有字符,则返回“-”
  • array\u map()
    返回字符串数组,在本例中为
    ['AA','eE','Gg']
  • 最后,
    内爆()
    将数组放入字符串
    “AA eE G-”

  • 希望这有帮助:)

    向我展示您希望以代码格式生成的阵列…Aa ee Gg x Aa ee可以有许多解决方案。在我的示例中,它将是“AA Ee G-”,但它也可以是“AA Ee-G”,始终是String1的一个“字母”和String2的一个字母。所以一个A,一个E,一个G等等……为什么
    aaeeg-
    而不是
    aaeeg-
    ?后者对我来说似乎更有意义。或者你想创建一个包含所有可能解决方案的矩阵吗?AA Ee G-或AA Ee G-会给出相同的颜色。当然可以这样写。我只是习惯于从大字母到小字母排序:)对不起,如果这让人困惑的话。当然,从String1中只能出现e而不是e!谢谢。让我看看你想要以代码格式生成的数组…Aa ee Gg x Aa ee可以有很多解决方案。在我的示例中,它将是“AA Ee G-”,但它也可以是“AA Ee-G”,始终是String1的一个“字母”和String2的一个字母。所以一个A,一个E,一个G等等……为什么
    aaeeg-
    而不是
    aaeeg-
    ?后者对我来说似乎更有意义。或者你想创建一个包含所有可能解决方案的矩阵吗?AA Ee G-或AA Ee G-会给出相同的颜色。当然可以这样写。我只是习惯于从大字母到小字母排序:)对不起,如果这让人困惑的话。当然,从String1中只能出现e而不是e!谢谢,谢谢!我必须承认我的方向是错误的!这正是我能用的:)谢谢!没问题!有趣的问题-我一直在寻找另一个解决方案:谢谢!我必须承认我的方向是错误的!这正是我能用的:)谢谢!没问题!有趣的问题-我一直在寻找另一个解决方案:D