检查数组的部分匹配(PHP)


Check array for partial match (PHP)

我有一个文件名数组,需要对照代码进行检查,例如

array("120_120_435645.jpg","150_150_312312.jpg","250_250_1232327.jpg");

字符串是"312312",因此它将匹配"150_150_312312.jpg",因为它包含该字符串。如果搜索中根本没有匹配项,则将代码标记为丢失。

我尝试了in_array,但如果它是完全匹配的,这似乎是真的,不知道array_filter是否会使它枯萎。。。

谢谢你的建议。。。也许我盯着它看得太久了,喝杯咖啡可能会有所帮助:)

$filenames = array("120_120_435645.jpg","150_150_312312.jpg","250_250_1232327.jpg");
$matches = preg_grep("/312312/", $filenames);
print_r($matches);

输出:

Array
(
    [1] => 150_150_312312.jpg
)

或者,如果你不想使用regex,你可以简单地使用strpos,如下答案所示:

foreach ($filenames as $filename) {
    if (strpos($filename,'312312') !== false) {
    echo 'True';
    }
}

演示