0

我有一个从函数创建的数组readdir,让我们这样说:

$array = array("file1.txt","file2.txt","file3.txt","~file1.txt","~file3.txt")

我不知道具有~字符的文件的确切名称。我想排除所有具有~的值,因此数组应该是:

$array = array("file1.txt","file2.txt","file3.txt")

你能告诉我,我怎样才能在 PHP 中做到这一点?

4

3 回答 3

3

使用array_filter()

$array = array_filter($array, function($var){
    return strpos($var, '~') === false;
});

print_r($array);

或者对于 < PHP 5.3:

function filter($var){
    return strpos($var, '~') === false;
}

$array = array_filter($array, 'filter');
于 2013-10-17T16:08:37.907 回答
0
for($count=0; $count<=count($array); $count++)
{
    //echo $array[$count];
    if(strpos($array[$count],'~')!==false)
        unset($array[$count]);      
}
$array=array_values($array);
于 2013-10-17T16:14:08.557 回答
0

你也可以选择foreach

$res = array();
foreach($array as $v){
    if ($v[0] != '~'){
        $res[] = $v;
    }
}

但我会坚持使用 array_filter

于 2013-10-17T16:10:17.587 回答