比较 2 个字符串,减去相同的字符和 return 新值
compare 2 strings, subtract the same characters and return the new values
我有两个字符串,它可以更多然后两个可能是 5 或 6
$a = 2012-05-18 usr abc removed device id=858 sn=abc cmmac=000 drumac=123
$b = 2012-05-18 usr abc removed device id=858 sn=abc cmmac=000 drumac=12352015-03-26 usr mabdel001c removed device id=814 sn=abcd cmmac=1234 drumac=000
我需要帮助我需要一个函数或任何方式,当我比较 $a 和 $b 时它应该 returns 我的字符串如下
$remaining = '2015-03-26 usr mabdel001c removed device id=814 sn=abcd cmmac=1234 drumac=000';
我尝试了这个功能但没有成功if (strcmp($var1, $var2) === 0) {
您的想法可能看起来并不明显,但 str_replace
应该适用于此。
$remaining = str_replace($a, '', $b);
如果 $a
在 $b
中找到,那么 $remaining
将是 $b
并从中删除 $a
的字符,否则 $remaining
将是 $b
.
的不变值
您可以使用 str_replace 并替换为任何内容:
$a = "2012-05-18 usr abc removed device id=858 sn=abc cmmac=000 drumac=123";
$b = "2012-05-18 usr abc removed device id=858 sn=abc cmmac=000 drumac=12352015-03-26 usr mabdel001c removed device id=814 sn=abcd cmmac=1234 drumac=000";
Echo str_replace($a, "", $b);
另一种方法是跳过匹配的内容。
$a = '2012-05-18 usr abc removed device id=858 sn=abc cmmac=000 drumac=123';
$b = '2012-05-18 usr abc removed device id=858 sn=abc cmmac=000 drumac=12352015-03-26 usr mabdel001c removed device id=814 sn=abcd cmmac=1234 drumac=000';
if(strpos($b, $a) !== false) {
echo substr($b, (strrpos($b, $a) + strlen($a)));
}
会起作用。如果您有多个匹配项,您将需要一种不同的方法(因为这仅适用于 1 次迭代)。 str_replace
可能是您最好的方法。
我有两个字符串,它可以更多然后两个可能是 5 或 6
$a = 2012-05-18 usr abc removed device id=858 sn=abc cmmac=000 drumac=123
$b = 2012-05-18 usr abc removed device id=858 sn=abc cmmac=000 drumac=12352015-03-26 usr mabdel001c removed device id=814 sn=abcd cmmac=1234 drumac=000
我需要帮助我需要一个函数或任何方式,当我比较 $a 和 $b 时它应该 returns 我的字符串如下
$remaining = '2015-03-26 usr mabdel001c removed device id=814 sn=abcd cmmac=1234 drumac=000';
我尝试了这个功能但没有成功if (strcmp($var1, $var2) === 0) {
您的想法可能看起来并不明显,但 str_replace
应该适用于此。
$remaining = str_replace($a, '', $b);
如果 $a
在 $b
中找到,那么 $remaining
将是 $b
并从中删除 $a
的字符,否则 $remaining
将是 $b
.
您可以使用 str_replace 并替换为任何内容:
$a = "2012-05-18 usr abc removed device id=858 sn=abc cmmac=000 drumac=123";
$b = "2012-05-18 usr abc removed device id=858 sn=abc cmmac=000 drumac=12352015-03-26 usr mabdel001c removed device id=814 sn=abcd cmmac=1234 drumac=000";
Echo str_replace($a, "", $b);
另一种方法是跳过匹配的内容。
$a = '2012-05-18 usr abc removed device id=858 sn=abc cmmac=000 drumac=123';
$b = '2012-05-18 usr abc removed device id=858 sn=abc cmmac=000 drumac=12352015-03-26 usr mabdel001c removed device id=814 sn=abcd cmmac=1234 drumac=000';
if(strpos($b, $a) !== false) {
echo substr($b, (strrpos($b, $a) + strlen($a)));
}
会起作用。如果您有多个匹配项,您将需要一种不同的方法(因为这仅适用于 1 次迭代)。 str_replace
可能是您最好的方法。