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

从数组特定子数组提取数据失败:WordPress中foreach无输出

问题解决方法

你的原循环没输出,是因为遍历的对象错了——你遍历的是整个顶层数组,而目标文件数据在顶层数组的value子数组里。

修正后的代码

如果value下只有一个文件(像你给出的数组那样),可以直接访问:

// 先验证数据存在性,避免报错
if (isset($arrayOBJ['value']) && is_array($arrayOBJ['value']) && !empty($arrayOBJ['value'][0])) {
    $fileItem = $arrayOBJ['value'][0];
    // 用WordPress安全函数处理输出,避免XSS风险
    echo '<li><a href="' . esc_url($fileItem['file']) . '">' . esc_html($fileItem['file_title']) . '</a></li>';
}

如果value下可能有多个文件,需要遍历value子数组:

if (isset($arrayOBJ['value']) && is_array($arrayOBJ['value'])) {
    foreach ($arrayOBJ['value'] as $fileItem) {
        // 确保每个子项的必要字段存在
        if (isset($fileItem['file'], $fileItem['file_title'])) {
            echo '<li><a href="' . esc_url($fileItem['file']) . '">' . esc_html($fileItem['file_title']) . '</a></li>';
        }
    }
}

原代码问题说明

你之前的foreach($arrayOBJ as $value => $file)是遍历顶层数组的所有键值对(比如ID、key这些),循环里的$file根本不是你要的文件数据,所以不会输出预期的列表项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 21:32:46