如何用stristr搜索

时间:2015-01-20 08:09:25

标签: php array-filter

我有2个阵列

$filtered_url_list= array("www.salmat.", "www.webcentral.");

 $files = array("http://www.salmat.", "http://www.webcentral.", "http://abc.");

我想在数组$filtered_url_list中搜索$files的元素。如果$files'元素字符串的一部分匹配,那么相应的$files'字符串需要echo ed

我的代码看起来像这样

foreach($filtered_url_list as $check_val)
{
  $found=FALSE;
  foreach($files as $file_val)
  {
    if(stristr($check_val,$file_val)!==FALSE)
    {
        $found=TRUE;
    }
  }
  if(!$found)
  {
    echo $file_val,"\n";
  }

} 示例:
 www.salmat. is present in http://www.salmat. if this is true then echo http://www.salmat. 我的echo语句不正确。但我没有得到如何使其正确

请建议

三江源

3 个答案:

答案 0 :(得分:1)

echo放入foreach。此外,stristr函数的参数顺序是错误的。

foreach($filtered_url_list as $check_val)
{
  $found=FALSE;
  foreach($files as $file_val)
  {
    if(stristr($file_val,$check_val)!==FALSE)
    {
      $found=TRUE;
      echo $file_val,"\n";
    }
  }
}

答案 1 :(得分:0)

试试这段代码: -

foreach($filtered_url_list as $check_val)
{
  if(in_array ($check_val ,$contents))
  {
    //$chcekc_val values is present in $contents array. 
  }
 }

供参考http://php.net/manual/en/function.in-array.php

答案 2 :(得分:-1)

改用strcmp

    if(strcmp($check_val,$file_val) ==0)