2017-11-18 9 views
0

2つの異なる文字列を動的に印刷しようとしています。私はコードの下に行ったが、それは私に "TrAaUuSt"この出力を与える。私は "TrAaUuStIF"が欲しいです。これをどうすれば解決できますか?誰でも私を助けることができますか?前もって感謝します。私はPHPで新しいです。あなたがより良い解決策を持っているなら、私に提案してください。2つの異なる文字列から別の文字列を動的に印刷します。

<?php 

/*$str1 = "TAUSIF"; 
$str2 = "raut"; 
Output = TrAaUuSt*/ 


if(isset($_POST['submit'])) 
{ 
    $str1 = $_POST['str1']; 
    $str2 = $_POST['str2']; 

    $strlen1 = strlen($str1); 
    $strlen2 = strlen($str2); 


    if($strlen1 > $strlen2) 
    { 
     for($i = 0; $i<$strlen2; $i++){   
      $new[] = $str1[$i]; 
      $new[] = $str2[$i];  
     } 

    } 
    else 
    { 
     for($i = 0; $i<$strlen1; $i++){ 
      $new[] = $str1[$i]; 
      $new[] = $str2[$i]; 
     } 

    } 

    foreach($new as $str){ 
     echo $str; 
    } 
} 
?> 




<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Print alternative character.</title> 
</head> 
<body> 

    <form action="" method="post"> 
     <input type="text" name="str1" ><br><br> 
     <input type="text" name="str2" ><br><br> 
     <input type="submit" name="submit" value="Submit" > 
    </form> 

</body> 
</html> 

答えて

1

あなたはこのような何かを試みることができる:

if(isset($_POST['submit'])) 
{ 
    //$str1 = "TAUSIF"; 
    //$str2 = "raut"; 

    $str1 = $_POST['str1']; 
    $str2 = $_POST['str2']; 

    // SPLIT STRINGS TO ARRAY 
    $a1 = str_split($str1); 
    $a2 = str_split($str2); 

    $out = ''; // THE OUTPUT STRING 

    // CHECK WHICH STRING IS LONGEST 
    $count = (count($a1) > count($a2)) ? count($a1) : count($a2); 

    // LOOP BASED ON THE NUMBER OF CHARACTERS IN LONGEST STRING 
    for ($x = 0; $x <= $count; $x++) { 
     $out .= (isset($a1[$x])) ? $a1[$x] : ''; 
     $out .= (isset($a2[$x])) ? $a2[$x] : '';  
    } 

    echo $out; // TrAaUuStIF 
} 

注:Unicodeのサポートが必要な場合は、トップで説明したように、あなたはあなた自身のstr_split機能させることを検討してください をここにコメントを投票:http://php.net/str_split

+0

ありがとう#マイケルK ..その仕事。しかし、エラーなしでコードを出力することはできますか? –

+0

助けてくれてうれしいです。元の投稿のように 'isset($ _ POST ['submit'])'を追加するだけです。私は今例を更新しました。 –

0
<?php 

/*$str1 = "TAUSIF"; 
$str2 = "raut"; 
Output = TrAaUuSt*/ 


if(isset($_POST['submit'])) 
{ 
$str1 = $_POST['str1']; 
$str2 = $_POST['str2']; 

$strlen1 = strlen($str1); 
$strlen2 = strlen($str2); 


if($strlen1 > $strlen2) 
    { 
    for($i = 0; $i<$strlen2+$strlen1; $i++){   
      $new[] = $str1[$i]; 
      $new[] = $str2[$i];  
    } 


    }else 
    { 
    for($i = 0; $i<$strlen1+$strlen2; $i++){ 
     $new[] = $str1[$i]; 
     $new[] = $str2[$i]; 
    } 

} 

foreach($new as $str){ 
    echo $str; 
} 
} 
?> 




<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Print alternative character.</title> 
</head> 
<body> 

    <form action="" method="post"> 
     <input type="text" name="str1" ><br><br> 
     <input type="text" name="str2" ><br><br> 
     <input type="submit" name="submit" value="Submit" > 
    </form> 

</body> 
</html> 
+0

私はこれを試しますが、オフセットエラーが発生します。 –

関連する問題