Php比较字符串并返回公共值
我试图找到其他关于这方面的帖子/信息,但似乎没有一篇有效——尽管我确信这是一项简单的任务 我有两个字符串,我想有一些代码行,让我知道它们的共同点 例如,我可能有Php比较字符串并返回公共值,php,string,compare,Php,String,Compare,我试图找到其他关于这方面的帖子/信息,但似乎没有一篇有效——尽管我确信这是一项简单的任务 我有两个字符串,我想有一些代码行,让我知道它们的共同点 例如,我可能有 String1 = "Product Name - Blue"; String2 = "Blue Green Pink Black Orange"; 我想要一个只包含蓝色值的字符串。我该怎么做?提前谢谢 你可以使用,也许 & 一种解决方案是将字符串拆分为两个单词数组,例如: $string1 = "Product Name - Blu
String1 = "Product Name - Blue";
String2 = "Blue Green Pink Black Orange";
我想要一个只包含蓝色值的字符串。我该怎么做?提前谢谢 你可以使用,也许
&
一种解决方案是将字符串拆分为两个单词数组,例如:
$string1 = "Product Name - Blue";
$string2 = "Blue Green Pink Black Orange";
$arr1 = explode(' ', $string1);
$arr2 = explode(' ', $string2);
请注意,explode()
是一个基本解决方案;您可能希望使用更复杂的东西,例如,允许使用更具体的分隔符
然后,在这些数组上使用,找出两个数组中都存在哪些单词:
$common = array_intersect($arr1, $arr2);
var_dump($common);
在这种情况下,将给出:
array
3 => string 'Blue' (length=4)
您希望对每个列表执行explode(),将它们分隔为数组,然后使用array_intersect()查找两个数组中的常用词。我曾想过这一点,但只有当“blue”的两个实例都以大写字母b开头时,这不是才有效吗?听起来他可能需要创建自己的函数来模拟array_intersect,但不区分大小写。编辑:看来你是为了解释这一点而编辑的。干得好。是的,小写的加法很有用。你知道有什么方法可以增加检查一段单词的能力吗。例如:代替蓝色,搭配紫色猫头鹰之类的东西?@ PrimestNetry:你能给出两个字符串的例子和期望的结果吗?String 1=“NVY口红(哑珊瑚粉色)”;String2=“柔和的珊瑚粉、style2、style3等”;期望的结果是->静音珊瑚pink@theprestinedesign:第二个字符串是否始终为CSV?
array
3 => string 'Blue' (length=4)