我想比较一个数组中的值与另一个数组的值

时间:2013-09-04 01:57:12

标签: php arrays compare

搜索后,该脚本丰富文件夹并读取每个文件 如果它找到了h1,它会将它的每个单词放在数组$h1words中 问题是,我想比较两个数组$words$h1words
如果有一个相似的字符,那么它将显示h1

if (isset($_GET["sub"]) && $_GET["sub"]=="Search"){

    // Open a known directory, and proceed to read its contents
    $dir="c1/cat1/";
    $words=explode(" ",$_GET["search"]);
    if (is_dir($dir)) {
        if ($dh = opendir($dir)) {
            while (($file = readdir($dh)) !== false) {
                if ($file=="" or $file=="." or $file==".." or $file=="index.php" or $file=="index.html") {
                    continue;
                }

                $filet=$dir.$file;
                if (is_readable($filet)){
                    $filee=fopen($filet,"r");
                    while(!feof($filee)){
                        $str=strip_tags(fgets($filee),"<h1>");
                        $findme="<h1>";
                        $pos = strpos($str, $findme);
                        if ($pos!==false){
                            $h1words=explode(" ",$str);
                        }else{}

                    }
            echo "<br /><hr /><br />";
            fclose($filee);
                }

            }
            closedir($dh);

        }
    }
}

2 个答案:

答案 0 :(得分:1)

循环遍历第一个数组,并将每个值与第二个数组的每个值进行比较:

$i = 0
foreach($words as $array1){
  foreach($h1words as $array2){
    if($array1 === $array2){
      //equal
    }else{
      //not equal
    }
  }
  $i++
}

这将遍历$words中的每个值,并将其与$h1words中的每个值进行比较。

答案 1 :(得分:0)

现在它与preg_match(),thnx一起使用了

foreach($words as $wd){
    foreach($h1words as $wh){
    $findd=$wd;
    $text=$wh;
    if (preg_match("/".$findd."/i",$text)){
        echo $str;

    }else{continue;}