Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 限制页面上显示的类别数_Php - Fatal编程技术网

Php 限制页面上显示的类别数

Php 限制页面上显示的类别数,php,Php,我有这部分代码,其中类别是从txt文件加载的 <?php foreach ($categories as $cat) { if ($cat['word'] == false) continue; ?> <

我有这部分代码,其中类别是从txt文件加载的

<?php                       
  foreach ($categories as $cat) {               
    if ($cat['word'] == false)                          
      continue;                                                             
?>
  <li>
     <a href="cats/"><?php echo $cat['name']?></a>
  </li>
<?php } ?>



  • 这两种变体都会导致空名称。

    假设您想在将结果限制在前15个条目之前过滤掉
    $cat['word']==false
    条目(即最多显示15个条目),请尝试以下操作

    $filtered=array\u filter($categories,function($cat){
    返回$cat['word'];//仅包括truthy“word”条目
    });
    foreach(数组_切片($filtered,0,15)作为$cat):?>
    
  • 
    

    可以进行重构。

    以下内容对您有用吗

    <?php $count = 0; ?>
    <?php foreach ($categories as $cat) :?>
      <?php if ($cat['word'] == false) continue; ?>
      <li>
          <a href="cats/"><?php echo $cat['name']?></a>
      </li>
      <?php if ($count >= 15) break; ?>
      <?php $count++; ?>
    <?php endforeach; ?>
    
    
    

  • $categories
    数组吗?您想在将集合限制为15之前还是之后筛选集合中的
    $cat['word']
    array_chunk()
    允许您将其拆分为多个部分。所有链接都是相同的
    href
    还是每个
    $cat
    中都应该有一些信息?谢谢。这条路行得通。如果阵列中没有任何内容,会发生什么情况?它会崩溃吗?不,它只是不会输出任何标签。如果我看到所有
    $cat['word']
    条目都是错误的,也会发生同样的情况。谢谢你的帮助。你不能
    你是对的,我没有看到里面的回声,也没有意识到里面有php代码。谢谢你的截取。
    
    <?php                       
      foreach ($categories as $cat) {             
        if ($cat['word'] == false)                         
          continue;               
          while($cat['word'] = 15;){                                  
    ?>
      <li>
         <a href="cats/"><?php echo $cat['name']?></a>
      </li>
    <?php } 
       }?>
    
    <?php  
    
    $counter = 0;
    
      foreach ($categories as $cat) {               
        if ($cat['word'] == false){                          
          continue;                
         } 
    
    if($counter < 15) { 
    
    echo '<li>
         <a href="cats/"><?php echo $cat['name']?></a>
      </li>'
    
    $counter++;
     }} ?>
    
    <?php $count = 0; ?>
    <?php foreach ($categories as $cat) :?>
      <?php if ($cat['word'] == false) continue; ?>
      <li>
          <a href="cats/"><?php echo $cat['name']?></a>
      </li>
      <?php if ($count >= 15) break; ?>
      <?php $count++; ?>
    <?php endforeach; ?>