从php循环中删除项目

时间:2013-04-28 17:41:53

标签: php loops slice

如果文件夹名为“data”,我有一个索引文件的循环,并将所有文件显示为循环。在额外它检查url字符串,如果有字符串“d”(index.php?d = folderrandom)中描述的子文件夹(data / folderrandom),那么它显示该子文件夹的文件!

我想切出两个名为“downloadHTML”和“downloadPHP”的文件,这些文件存储在循环中的“data”文件夹中。我想切片包含上面文件名的项目!循环代码的某些部分如下所示

if(count($files) >= 1){
foreach ($files as $file) { 
    $nb++;
    if (!is_dir($file)) {
?>

    <div class="tab icon">hi
    <?php if($folders){ ?>
        <a href="index.php?p=view&f=<?php echo $nb; ?>&d=<?php echo $folders; ?>">
    <?php }else{ ?>
        <a href="index.php?p=view&f=<?php echo $nb; ?>">
    <?php 
        }
        $info = preg_replace("/\\.[^.\\s]{3,4}$/", "", $file);
        echo basename($info);
        $blocks[$nb] = $file; 
        ?>
    </a>
</div>
<?php 
    }else{
    $file_name =  basename($file);  
?>  

下面的PHP代码切片项左右你喜欢什么。它非常有用,可以帮助我们得到答案。

<?
function arem($array,$value){
    $holding=array();
    foreach($array as $k => $v){
        if($value!=$v){
            $holding[$k]=$v;
        }
    }    
    return $holding;
}

function akrem($array,$key){
    $holding=array();
    foreach($array as $k => $v){
        if($key!=$k){
            $holding[$k]=$v;
        }
    }    
    return $holding;
}

$lunch = array('sandwich' => 'cheese', 'cookie'=>'oatmeal','drink' => 'tea','fruit' => 'apple');
echo '<pre>';
print_r($lunch);
$lunch=arem($lunch,'apple');
print_r($lunch);
$lunch=akrem($lunch,'sandwich');
print_r($lunch);
echo '</pre>';
?>

1 个答案:

答案 0 :(得分:1)

slice你的意思是不在输出中显示它们吗?如果是这样,你可以把它扔进你的foreach循环:

foreach ($files as $file) { 
    $nb++;
    if(preg_match("/downloadHTML|downloadPHP/i", $file)){
        continue;
    }
    // The rest of the foreach
}