$ output1という文字列に保存された出力ストリームがあり、これはユーザーに表示されます。$output1に数行を加えたものと同じ$output2という別のストリームがある場合、$output1にない$output2の部分のみを出力するにはどうすればよいですか。
例えば:
$output1="this cat is";
$output2="this cat is mine";
出力したい:
この猫は私のものです
$ output1という文字列に保存された出力ストリームがあり、これはユーザーに表示されます。$output1に数行を加えたものと同じ$output2という別のストリームがある場合、$output1にない$output2の部分のみを出力するにはどうすればよいですか。
例えば:
$output1="this cat is";
$output2="this cat is mine";
出力したい:
この猫は私のものです
それには2つの方法があります -
1) <?php echo $output2; ?>
- この猫は私のものです。
2)<?php echo $output1.str_replace($output1, "", $output2); ?>
最初の例を使用することをお勧めします。
とにかく、あなたが達成したいことをもっと説明してください。
現在、ほぼ同じ 2 つの変数を指定しています。使用する変数を 1 つだけ指定できます。
それはこれに似たものです -
あなたは 2 枚の紙を持っています。1 枚には「この猫は」と書かれており、もう 1 枚には「この猫は私のものです」と書かれています。2枚目の紙から「This cat is」を切り取り、「mine」だけを残します。だからあなたは接着剤を取り、最初の紙を「私の」と一緒に貼り付けます. = 時間を無駄にし、複雑にします。
「私のもの」だけを取得したい場合は、次を使用します-str_replace($output1, "", $output2);
$output1="this cat is";
$output2="this cat is mine";
$min=(strlen($output1)<strlen($output2)) ? $output1 : $output2 ;
$max=(strlen($output1)>strlen($output2)) ? $output1 : $output2 ;
$pos= strpos($max,$min);
//if you want "this cat is mine", maxima string
if($pos!==FALSE) echo $max;
//if you want " mine", part of the string only in the maxima one.
if($pos !==FALSE) echo substr($max,strlen($min));
//if you want "this cat is" from shortest string and " mine" from the other one.
if($pos !==FALSE) echo $min.substr($max,strlen($min));