如何在数组中查找包含给定子字符串的元素?

2021-12-23 00:00:00 arrays filter php substring

我有 3 个字符串,我只想得到它们的相等字符串,如下所示:

I have 3 strings, I would like to get only the equal strings of them, something like this:

$Var1 = "Sant";
$Array[] = "Hello Santa Claus";   // Name_1
$Array[] = "Santa Claus";         // Name_2

我想同时获取它们,因为它们匹配 Sant".

I would like to get both of them because they match "Sant".

使用我的代码我只能得到 Name_2

With my code I only get Name_2

$len = strlen($Var1);
foreach($Array as $name) 
{
   if (  stristr($Var1, substr($name, 0, $len)))
   {
     echo $name;
   }
}

我明白为什么我只得到Name_2,但我不知道如何解决这种情况.

I understand why I only get Name_2, but I don't know how to solve this situation.

推荐答案

你的代码也会像下面这样工作:-

foreach ($Array as $name)
{
    if (stristr($name,$Var1)!==false)
    {
        echo $name;
        echo PHP_EOL;
    }
}

输出:- https://eval.in/812376

您可以使用php strpos() 函数 也是为了这个目的

foreach($Array as $name) 
{
   if (  strpos($name,$Var1)!==false)
   {
     echo $name;
     echo PHP_EOL;
   }
}

输出:-https://eval.in/812371

注意:- 在 Both 函数中,第一个参数是您要在其中搜索子字符串的字符串.第二个参数是子字符串本身.

Note:- In Both function the first argument is the string in which you want to search the sub-string. And second argument is sub-string itself.

相关文章