当前栏目多文件循环 想改为 从第五个开始循环 共显示

迅睿框架 更新 2025-10-20 11:14:36 靠谱小青年

<?php if ($cat['cptdtw']) { $key=0;foreach ($cat['cptdtw'] as $c) { ?>

<div class="feature-item">

              <p><img height="70" src="{dr_get_file($c.file)}" /></p>

              <p class="{$c.title}">{$c.title}</p>

            </div>

              <?php $key++;} } ?>  当前栏目多文件循环 想改为  从第五个开始循环  共显示6个数据 咋改呢?

方案

  • 迅睿官方技术专家 #1 · 2025-10-19 16:18:17
    num=5,6
  • 靠谱小青年 #2 · 2025-10-20 10:54:59
    迅睿官方技术专家 <?php if ($cat['cptdtw']) { $key=0;foreach ($cat['cptdtw'] as $c) num=5,6 { ?> <div class="feature-item"> <p><img height="70" src="{dr_get_file($c.file)}" /></p> <p class="{$c.title}">{$c.title}</p> </div> <?php $key++;} } ?> 这样吗?
  • 迅睿官方技术专家 #3 · 2025-10-20 11:05:16

    参考文档:《数组剪切函数 dr_arraycut》
    <?php if ($cat['cptdtw']) { $cat['cptdtw']=dr_arraycut($cat['cptdtw'], '5,11');$key=0;foreach ($cat['cptdtw'] as $c) { ?>
    这种php代码的,可以找ai帮你改写就行了
  • 靠谱小青年 #4 · 2025-10-20 11:10:27
    迅睿官方技术专家 <?php if ($cat['cptdtw']) { $cat['cptdtw']=dr_arraycut($cat['cptdtw'], '0,5');$key=0;foreach ($cat['cptdtw'] as $c) { ?> <div class="feature-item"> <p><img height="70" src="{dr_get_file($c.file)}" /></p> <p class="{$c.title}">{$c.title}</p> </div> <?php $key++;} } ?> <?php if ($cat['cptdtw']) { $cat['cptdtw']=dr_arraycut($cat['cptdtw'], '5,11');$key=0;foreach ($cat['cptdtw'] as $c) { ?> <div class="feature-item"> <p><img height="70" src="{dr_get_file($c.file)}" /></p> <p class="{$c.title}">{$c.title}----</p> </div> <?php $key++;} } ?>同时存在二组的话 只有一组生效呢?
  • 迅睿官方技术专家 #5 · 2025-10-20 11:12:01
    满意答案
    $cat['cptdtw']把这个赋值一个新的值呀,不要被二次覆盖就行
  • 靠谱小青年 #6 · 2025-10-20 11:12:20
    @迅睿官方技术专家:搞定 {$c.title} {$c.title}----
  • 小波工作室 #7 · 2025-10-20 11:14:36
    出现 “两组代码同时存在时只有一组生效” 的核心原因是:第一组代码修改了$cat['cptdtw']的原始值,导致第二组代码处理的是被截断后的数组,无法获取到正确的元素

    具体分析:

    1. 第一组代码中,$cat['cptdtw'] = dr_arraycut(...) 这行代码直接修改了原始数组,将其截断为 “0-5” 的部分(即前 5 条数据)。
    2. 第二组代码再次判断 $cat['cptdtw'] 时,此时的$cat['cptdtw']已经是第一组截断后的结果(只有 5 条数据)。
    3. 当第二组执行 dr_arraycut($cat['cptdtw'], '5,11') 时,由于原始数组已被截断为 5 条(索引 0-4),从索引 5 开始截取自然会得到空数组,因此第二组循环不会执行,最终只有第一组生效。

    解决方案:

    保留原始数组,对原始数组进行 “分别截取”,避免修改原始变量。可以通过临时变量保存原始数据,再分别处理:php
    <?php // 保存原始数组到临时变量,避免被修改$original_cptdtw = $cat['cptdtw'] ?? [];// 第一组:截取0-5的部分(前5条)if ($original_cptdtw) { 
        $first_part = dr_arraycut($original_cptdtw, '0,5');
        $key=0;
        foreach ($first_part as $c) { ?><div class="feature-item">
        <p><img height="70" src="{dr_get_file($c.file)}" /></p>
        <p class="{$c.title}">{$c.title}</p></div><?php 
        $key++;
        } } // 第二组:截取5-11的部分(从第5条开始,取6条)if ($original_cptdtw) { 
        $second_part = dr_arraycut($original_cptdtw, '5,11');
        $key=0;
        foreach ($second_part as $c) { ?><div class="feature-item">
        <p><img height="70" src="{dr_get_file($c.file)}" /></p>
        <p class="{$c.title}">{$c.title}----</p></div><?php 
        $key++;
        } } ?>

    关键原理:

    通过 $original_cptdtw = $cat['cptdtw'] ?? [] 保存原始数组,两组代码分别从原始数组中截取不同范围的元素,彼此不干扰,最终两组循环都会正常执行。AI编程才是大师

迅睿系统漏洞

IP138查询
IP138查询(2026-09-02)
转换本地ip地址作用。后台安装/启用插件 Ip_ysb进入「应用 →...
GEO系统
GEO系统(2026-09-02)
支持最新的ai优化算法 后台增加可控制的站点运营管理
开发者工具
开发者工具(2026-09-02)
增加插件脚手架 增加控制器编写辅助
用户系统
用户系统(2026-09-02)
增强用户列表安全验证,防止个人信息泄露
节日灯笼
节日灯笼(2026-09-01)
新增顶部节日横幅 Banner ,祝福语文字 新增节日特效:Can...
GeoSeo收录宝
GeoSeo收录宝(2026-09-01)
升级 ai智能发布功能 升级 支持8国语言后端设置和前端输出功能 ...
Word发布批量上传
Word发布批量上传(2026-08-31)
版本覆盖问题重发
多语言翻译Seolang
多语言翻译Seolang(2026-08-31)
新增 LLM 大模型对话翻译模块 配置层强类型化重构 URL 模...