You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP 8.1下WordPress MultivendorX插件数组偏移访问bool值报错修复求助

修复「Trying to access array offset on value of type bool」错误方案

错误原因

PHP 7.4及以上版本严格禁止对布尔值(bool)进行数组偏移访问(如$hh[0]),旧版本PHP会静默忽略这类错误,但新版本会直接抛出报错。你的代码中$hh被赋值为布尔值(大概率是某个函数执行失败返回了false),却直接尝试访问$hh[0],因此触发问题。

具体修复步骤

1. 修正报错的输入框代码

找到触发错误的<input>行,添加类型判断和偏移存在性检查,同时使用WordPress安全函数转义输出:

<input type="text" value="<?php echo is_array($hh) && isset($hh[0]) ? esc_attr($hh[0]) : ''; ?>">
  • is_array($hh):先判断$hh是否为有效数组类型
  • isset($hh[0]):确保数组存在索引为0的元素
  • esc_attr():对输出值进行转义,避免XSS安全风险

2. 修复$hh的赋值逻辑

找到定义$hh的代码行(比如$hh = 某个函数()),根据实际场景处理函数返回值:

  • 如果$hh来自字符串分割(如explode()):
    // 分割失败时返回空数组而非false
    $hh = explode('分隔符', $目标字符串) ?: [];
    
  • 如果$hh来自WordPress元数据函数(如get_post_meta()):
    $hh = get_post_meta($post_id, '你的元键', false);
    // 强制将非数组值转为空数组
    if (!is_array($hh)) {
        $hh = [];
    }
    

3. 测试验证

修改代码后刷新页面,确认报错消失,同时检查输入框内容是否正常显示。

内容的提问来源于stack exchange,提问作者StevieK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 10:59:50