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

PHP如何遍历JSON数组动态生成表单下拉选项的循环实现问题

修改后的完整代码
function myfunction() {
    $request = wp_remote_get( 'https://shatner/wp-json/wpas-api/v1/enterprize-crew?type=name' );

    if( is_wp_error( $request ) ) {
        return false; // 请求出错直接返回
    }

    $body = wp_remote_retrieve_body( $request );
    $data = json_decode( $body, true );

    // 增加数据合法性判断,避免接口返回异常时报错
    if (!is_array($data) || empty($data)) {
        return [];
    }

    $options = [];
    // 遍历数组,自动生成配置项
    foreach ($data as $index => $item) {
        $options[] = [
            "text" => $item['name'],
            "value" => $item['slug'],
            // 按原有硬编码的奇偶交替规则生成id,可根据需求自行调整
            "id" => $index % 2 === 0 ? "id-1" : "id-2"
        ];
    }

    return $options;
}
核心修改说明
  • 初始化空的$options数组存储最终配置,避免数据为空时出现变量未定义错误
  • 修正了原代码中错误的foreach遍历语法,直接遍历拿到每一条数据的索引和对应内容
  • 按照原硬编码的id交替规则,用索引取模的方式自动生成id字段,如果你有其他id生成规则,直接修改这行逻辑即可
  • 每遍历一条数据就往配置数组中追加一条对应配置,循环结束后统一返回结果,不管接口返回的数组长度怎么变都能自动适配
  • 额外增加了接口返回数据的合法性判断,避免接口返回异常时PHP抛出警告

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:15:03