【问题标题】:Remove item from php loop从 php 循环中删除项目
【发布时间】:2013-04-22 08:35:58
【问题描述】:

我有一个循环,如果文件夹名为“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>';
?>

【问题讨论】:

  • 可以从php.net中找这个例子 $array['admin'] = array('blah1', 'blah2'); $array['voice'] = array('blah3', 'blah4'); array_cut('blah4', $array);

标签: php loops slice


【解决方案1】:

slice 的意思是不要在输出中显示它们?如果是这样,您可以将其放入您的 foreach 循环中:

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

【讨论】:

  • 天啊!你让我今天一整天都感觉很好!谢谢! +1 你的答案!您还可以看到我添加的额外代码,将来可能会对您有所帮助!
猜你喜欢
  • 2011-11-17
  • 1970-01-01
  • 2021-05-21
  • 1970-01-01
  • 1970-01-01
  • 2022-01-03
  • 2016-08-14
  • 2018-07-16
  • 2011-11-05
相关资源
最近更新 更多