1

我真的不知道如何做到这一点,或者它会被称为什么。我在过去的一个小时里搜索了这样的东西:

php中有没有办法让两个字符串合并为一个。我想将相同大小的字符串组合在一起?

所以....

$string1 = "apple"
$string2 = "block"
//FUNCTION STUFF HERE
$output = "abplpolcek";

先谢谢了。

4

7 回答 7

6

你可以试试这个:

$output='';
for($i=0;$i<strlen($string1);$i++)
{
    $output.=$string1[$i];
    $output.=$string2[$i];
}

echo $output;

或者你可以写一个像这样的简单函数:

function funnyConcatStrings($str1, $str2)
{
    $output='';
    $leng=strlen($str1);
    if(strlen($str1)==strlen($str2))
    {
        for($i=0;$i<$leng;$i++)
        {
            $output.=$str1[$i];
            $output.=$str2[$i];
        }
    }
    else
    {
        $output='Strings were not equal.\n';
    }
    return $output;
}

// Use it like this:

$mashedString=funnyConcatStrings($string1, $string2);

// or

echo funnyConcatStrings($string1, $string2);
于 2012-08-20T08:54:18.070 回答
2
$str_length = 5;
$output = '';

for($i = 0; $i < $str_length; $i++)
{
    $output .= $string1[$i] . $string2[$i];
}
于 2012-08-20T08:56:27.203 回答
1

使用例如 $string1[0] ( letter 'a' ) 来访问第一个字母并进行 for 循环

于 2012-08-20T08:55:27.493 回答
1

真的很容易;

$a = 'abcdef';
$b = 'ghijkl';

$l = strlen($a);

$s='';

for($i=0;$i<$l;$i++)$s .= $a[$i] + $b[$i];

echo $s;
于 2012-08-20T08:56:49.483 回答
1

1.) 检查字符串是否与strlen具有相同的长度

2.)然后您可以遍历字符串并将它们作为数组访问

$string = 'test123';
echo $string[0] -> 't'

然后,您可以组合字符串并将它们安全地保存在一个新变量中。

于 2012-08-20T08:58:58.667 回答
0

这也适用于不同长度的字符串

$string1 = "apple";
$string2 = "block";

$arr1 = str_split($string1);
$arr2 = str_split($string2);

if(count($arr1) > 0)
{
    foreach($arr1 as $key => $value)
    {
        $_tmp[] = $value;
        if(isset($arr2[$key]))
        {
            $_tmp[] = $arr2[$key];
        }
    }
}
else
{
    $key = 0;
}

if($key + 1 < count($arr2))
{
    for($i = $key + 1; $i < count($arr2); $i++)
    {
        $_tmp[] = $arr2[$key];
    }
}

echo implode("", $_tmp);
于 2012-08-20T08:56:05.347 回答
0
echo str_shuffle("apple" . "block");

结果: aekbplopcl

于 2015-02-16T21:55:46.847 回答