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

PHP foreach循环未返回全部键值对问题求助

问题原因及解决方案

问题根源

PHP关联数组的键具有唯一性,当重复使用同一个键(如RETAIL、BUSINESS)赋值时,后续赋值会直接覆盖之前的值,最终数组里每个键只会保留最后一次赋值的内容——这就是循环时仅得到3个值的核心原因。另外你的原始数组代码缺少元素间的逗号,这会触发语法错误,建议补全。

解决方案

结合你要将每条数据存入WordPress数据库的需求,推荐两种可行的数组结构:

方案1:同类型名称存入子数组

适合按类型归类管理数据,通过嵌套遍历即可插入每条记录:

$list = array(
    'RETAIL' => array('SUPERMARKET', 'BAR', 'DEP. MARKET'),
    'BUSINESS' => array('HOTEL', 'PUB'),
    'OTHER' => array('GROCERY', 'BUTCHERY')
    // 剩余20+条目按此格式添加
);

foreach ($list as $type => $names) {
    // 遍历当前类型下的所有名称
    foreach ($names as $name) {
        var_dump($type, $name);
        // WordPress数据库插入操作示例
        // global $wpdb;
        // $wpdb->insert('你的自定义表名', array(
        //     'type' => $type,
        //     'name' => $name
        // ));
    }
}

方案2:用索引数组存储独立条目

直接将每条类型-名称作为独立数组元素,更适配单条插入数据库的场景:

$list = array(
    array('type' => 'RETAIL', 'name' => 'SUPERMARKET'),
    array('type' => 'RETAIL', 'name' => 'BAR'),
    array('type' => 'RETAIL', 'name' => 'DEP. MARKET'),
    array('type' => 'BUSINESS', 'name' => 'HOTEL'),
    array('type' => 'BUSINESS', 'name' => 'PUB'),
    array('type' => 'OTHER', 'name' => 'GROCERY'),
    array('type' => 'OTHER', 'name' => 'BUTCHERY')
    // 剩余20+条目按此格式添加
);

foreach ($list as $item) {
    var_dump($item['type'], $item['name']);
    // WordPress数据库插入操作示例
    // global $wpdb;
    // $wpdb->insert('你的自定义表名', array(
    //     'type' => $item['type'],
    //     'name' => $item['name']
    // ));
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 19:45:43