在php中打印2个字符串之间的区别

时间:2012-07-25 07:57:40

标签: php

我有一个保存在名为$ output1的字符串中的输出流,这将显示给用户。现在,如果我有另一个名为$ output2的流与$ output1加上几行相同,我怎样才能输出$ output1中不在$ output1中的$​​ output的部分。

例如:

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

我想输出:

  这只猫是我的

2 个答案:

答案 0 :(得分:1)

有两种方法可以做到这一点 -

1)<?php echo $output2; ?> - 你将输出这只猫是我的。

2)<?php echo $output1.str_replace($output1, "", $output2); ?>

我建议您使用第一个示例。

无论如何,请描述更多你想要达到的目标。

目前,您指定的两个变量几乎相同。您只需指定一个变量即可使用。

这与此类似 -

你有两篇论文,一篇是你写的“这只猫是”,另一篇你写过“这只猫是我的”。你将从第二篇论文中删除“这只猫是”,只留下“我的”。所以你拿胶水把第一张纸和“我的”粘在一起。你会浪费时间并使其变得复杂。

如果您只想获得“我的”,请使用 - str_replace($output1, "", $output2);

答案 1 :(得分: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));