我目前有一个文件名数组,这些文件名取自具有以下内容的目录:
fileOne.txt
fileTwo.txt
fileOne_Results.txt
fileThree.txt
我的代码:
$index = array_search('_Results',$extension);
if($index !== FALSE) {
unset($extension[$index]);
print_r($extension);
}
我目前正在浏览目录并在表格中显示文件,但我不想显示包含' _Results'以他们的名义。
这可能吗?
理想情况下,我希望将它们从阵列中删除,我已经尝试了未设置的方法,但只能满足完整的文件名。 提前谢谢!
答案 0 :(得分:3)
您可以使用array_filter。回调可能看起来像这样:
function showFile($file) {
return strpos($file, "_Results") < 0;
}
$new_array = array_filter($old_array, 'showFile')
答案 1 :(得分:1)
或者您也可以将preg_grep
与以下正则表达式(_Results)
一样使用
$array = array('fileOne.txt','fileTwo.txt','fileOne_Results.txt','fileThree.txt');
$result = preg_grep("/(_Results)/",$array,PREG_GREP_INVERT);
print_r($result);
输出:
Array
(
[0] => fileOne.txt
[1] => fileTwo.txt
[3] => fileThree.txt
)