0

$ output1という文字列に保存された出力ストリームがあり、これはユーザーに表示されます。$output1に数行を加えたものと同じ$output2という別のストリームがある場合、$output1にない$output2の部分のみを出力するにはどうすればよいですか。

例えば:

$output1="this cat is";  
$output2="this cat is mine";  

出力したい:

この猫は私のものです

4

2 に答える 2

1

それには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);

于 2012-07-25T08:13:08.147 に答える
0
$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));
于 2012-07-25T08:12:53.170 に答える