php - 如何编写一个程序来逐个字符连接两个字符串。例如 : JOHN + SMITH = JSOMHINTH

标签 php string compare

这是我的代码,但它仅在两个字符串长度相同时给出结果。但是如果我想比较不同长度的字符串怎么办?

<?php

  $n1 = "Apple";
  $n2 = "Orang";

  //count length fo both string 
  $count1 = strlen($n1);
  $count2 = strlen($n2);
  $finalcount = 0;

  if($count1 > $count2) {
    $finalcount = $count1;
  } elseif ($count1 < $count2) {
    $finalcount = $count2;
  } else {
    $finalcount = $count1;
  }

  //convert string to array
  $n1 = str_split($n1);
  $n2 = str_split($n2);

  $i = 0;
  $result = "";
  for($i = 0;$i < $finalcount  ; $i++) {
    $result = $result .$n1[$i] . $n2[$i];
  }

  echo $result;
?>

最佳答案

这是一种方法(评论中的一些解释):

<?php

$str = 'test';
$str2 = 'test2';

$arr = str_split($str);
$arr2 = str_split($str2);

// Find the longest string
$max = max(array(strlen($str), strlen($str2)));

$result = '';

for($i = 0; $i < $max; $i++){
    // Check if array key exists. If so, add it to result
    if (array_key_exists($i, $arr)){
        $result .= $arr[$i];
    }

    if (array_key_exists($i, $arr2)){
        $result .= $arr2[$i];
    }
}

echo $result; //tteesstt2

?>

关于php - 如何编写一个程序来逐个字符连接两个字符串。例如 : JOHN + SMITH = JSOMHINTH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47480347/

相关文章:

java - 如何将字符串数组的 ArrayList 转换为二维字符串数组

c# - 自定义 ReSharper 模式 - 使用 String.SomeMethod 而不是 string.SomeMethod

python - 将字符串返回到 SWIG python 接口(interface)的最佳方法是什么?

php - 通过 php 检测文档(表格)中的列 - 算法

php - 主机不允许 MySQL 上的事件,最好的替代方案是什么

php - PayPal 自定义结帐表格

python - 匹配两个numpy数组以找到相同的元素

php - 计算两个日期时间之间的差异

sql - 需要根据 SQL 中的另一列值比较表中同一列的单元格值

c - 嵌套循环比较数组中的整数