PHP preg_grep错误?

PHP preg_grep错误?,php,preg-grep,Php,Preg Grep,PHP preg_grep不工作?我是PHP初学者,也是英语交流高手。 该程序的执行结果用“ArrayArray”表示 preg\u grep匹配行数组,因此您应该将代码重写为 for ($i = 0 ; $i <= $count; $i++) { if ($x = preg_grep("/^" . $arr_keywords[$i] . "/", $open_news)) { echo implode(', ', $x), PHP_EOL; } }

PHP preg_grep不工作?我是PHP初学者,也是英语交流高手。 该程序的执行结果用“ArrayArray”表示


preg\u grep匹配行数组,因此您应该将代码重写为

for ($i = 0 ; $i <= $count; $i++) {
    if ($x = preg_grep("/^" . $arr_keywords[$i]  . "/", $open_news)) {
        echo implode(', ', $x), PHP_EOL;
    }
}
对于($i=0;$i您还可以选择:


不能回显数组,请使用
var\u dump($x)
转储$x。从这里可以看到:,preg\u grep的返回值是一个数组。
for ($i = 0 ; $i <= $count; $i++) {
    if ($x = preg_grep("/^" . $arr_keywords[$i]  . "/", $open_news)) {
        echo implode(', ', $x), PHP_EOL;
    }
}
<?php

$open_news    = file("news.txt",     FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$arr_keywords = file("keywords.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

foreach ($arr_keywords as $keyword) {
    if ($x = preg_grep("/^" . preg_quote($keyword, '/') . "/", $open_news)) {
        echo implode(', ', $x) . PHP_EOL;
    }
}
Pattern::inject('^@keyword', ['keyword' => $arr_keywords[$i]])
  ->forArray($open_news)
  ->filter();