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

检查数组的部分匹配(PHP),php,arrays,string,partial,Php,Arrays,String,Partial,例如,我有一个文件名数组,需要对照代码进行检查 array("120_120_435645.jpg","150_150_312312.jpg","250_250_1232327.jpg"); 字符串是“312312”,因此它将匹配“150_150_312312.jpg”,因为它包含该字符串。 如果搜索中根本没有匹配项,则将代码标记为缺失 我在数组中尝试过,但如果它是精确匹配的,这似乎会返回true,不知道数组过滤器是否会使它枯萎 谢谢你的建议……也许我已经盯着它看太久了,喝杯咖啡可能会有帮助:

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

array("120_120_435645.jpg","150_150_312312.jpg","250_250_1232327.jpg");
字符串是“312312”,因此它将匹配“150_150_312312.jpg”,因为它包含该字符串。 如果搜索中根本没有匹配项,则将代码标记为缺失

我在数组中尝试过,但如果它是精确匹配的,这似乎会返回true,不知道数组过滤器是否会使它枯萎

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

输出:

Array
(
    [1] => 150_150_312312.jpg
)
或者,如果您不想使用正则表达式,您可以按照答案中的建议使用:


我宁愿使用stripos而不是
preg\u
函数。关键是使用
preg\u grep
不需要循环。
Array
(
    [1] => 150_150_312312.jpg
)
foreach ($filenames as $filename) {
    if (strpos($filename,'312312') !== false) {
    echo 'True';
    }
}