1

私はこれをどのように行うのか、それが何と呼ばれるのか本当にわかりません。私は過去1時間、次のようなものを検索しました。

PHPに2つの文字列を1つに結合させる方法はありますか?同じサイズの文字列を組み合わせたいですか?

それで....

$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](文字'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 に答える