2013-04-28 100 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