繁体   English   中英

在PHP中的2个字符串之间打印差异

[英]print difference between 2 strings in php

我有一个输出流,该流保存在名为$ output1的字符串中,并显示给用户。 现在,如果我有另一个名为$ output2的流,它与$ output1相同,外加几行,那么我如何只输出$ output 2中不在$ output1中的那部分。

例如:

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

我想输出:

这只猫是我的

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

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

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

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

无论如何,请描述更多您想要实现的目标。

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

与此类似-

您有两篇论文,一篇是“这只猫是我的猫”,另一篇是“这只猫是我的猫”。 您将从第二张纸上剪下“这只猫是”,只留下“我的猫”。 因此,您需要用胶水将第一张纸与“ mine”粘在一起。 =您会浪费时间并使事情变得复杂。

如果只想获取“ 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));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM