2013-04-28 95 views
0

我有一个循环索引文件,如果文件夹名为“数据”,并显示所有文件为循环。额外的检查URL字符串,如果有字符串“d”(index.php?d = folderrandom)中描述的子文件夹(数据/文件夹随机),那么它显示该子文件夹的文件!从php循环中删除项目

我想分割出两个名为“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>'; 
?> 
+0

可以寻求从php.net $数组[ '管理'] =数组这个例子( 'blah1', 'blah2'); $ array ['voice'] = array('blah3','blah4'); array_cut('blah4',$ array); – user1809599 2013-04-28 17:45:15

回答

1

通过slice你的意思是不要在输出中显示它们吗?如果是这样,你可以抛出此为您的foreach循环:

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

哦,伙计!你让我今天一整天都感觉很好!谢谢! +1你的答案! 你也可以看到我添加的额外代码,它可能会在未来帮助你! – user1809599 2013-04-28 18:02:49