运行环境php8.2手机访问时首页底部出现以下 PHP 警告是因为代码里调用了数组的buts键,但这个键未定义 / 不存在,导致读取失败 解决如下
将图中路径下的io-footer.php 425行的整段判断替换成
// 核心修改:先判断$config['buts']是否存在且非空,再执行后续逻辑 if (isset($config['buts']) && !empty($config['buts'])) { $modal_footer .= '<div class="modal-footer">'; foreach ($config['buts'] as $but) { $modal_footer .= '<a href="' . $but['url']['url'] . '" target="' . $but['url']['target'] . '" class="btn ' . $but['class'] . ' btn-sm">' . $but['url']['text'] . '</a>'; } $modal_footer .= '</div>'; } $modal = '<div class="modal fade" id="system_popup_ad" data-delay="'.$_delay.'" data-ex="'.$_ex_days.'" data-id="' . $_id . '" tabindex="-1">'; $modal .= '<div class="modal-dialog modal-dialog-centered" style="max-width:' . $config['width'] . 'px">'; $modal .= '<div class="modal-content">'; $modal .= $modal_header; $modal .= '<div class="modal-body">'; if(empty($modal_header)){ $modal .= '<button type="button" class="close" data-dismiss="modal" aria-label="Close"><i class="iconfont icon-close" aria-hidden="true"></i></button>'; } $modal .= $config['content']; $modal .= '</div>'; $modal .= $modal_footer; $modal .= '</div>'; $modal .= '</div>'; $modal .= '</div>'; echo $modal; }
关键修改说明只改了第一行:
原代码:if ($config['buts']) { → 直接读取不存在的键,触发警告;
新代码:if (isset($config['buts']) && !empty($config['buts'])) { → 先通过 isset() 判断 buts 键是否存在,再通过 !empty() 判断值是否非空,双重保险,既避免警告,又保证逻辑不变。



