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

PHP中如何过滤数组并从API提取AIRTEL套餐生成下拉选项?

提取AIRTEL套餐并生成Select Option选项

需求说明:从指定GET API提取AIRTEL DATA PLAN的dataPlan、duration、type、status以及basic_user对应的Price字段,转换为HTML的select Option格式。

以下是修改完成的PHP代码,已实现需求:

<?php
$url = "https://subandgain.com/api/databundles.php";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// 添加超时设置,避免请求长时间挂起
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$response = curl_exec($curl);

// 检查curl请求是否成功
if(curl_errno($curl)){
    die("请求失败: " . curl_error($curl));
}
curl_close($curl);

$obj = json_decode($response, true);

// 存储提取后的AIRTEL套餐数据
$airtelPlans = [];

foreach ($obj as $resource){
    if ($resource['NETWORK'] === 'AIRTEL'){
        // 安全提取basic_user对应的Price字段,避免字段不存在报错
        $price = isset($resource['basic_user']['Price']) ? $resource['basic_user']['Price'] : 'N/A';
        
        $airtelPlans[] = [
            'dataPlan' => $resource['dataPlan'],
            'duration' => $resource['duration'],
            'type' => $resource['type'],
            'status' => $resource['status'],
            'price' => $price
        ];
    }
}

// 生成HTML Select Option标签
$selectOptions = '<option value="">请选择AIRTEL套餐</option>';

foreach ($airtelPlans as $plan){
    // 拼接用户友好的显示文本
    $displayText = "{$plan['dataPlan']} ({$plan['duration']}) - ₦{$plan['price']}";
    // 通过data-*属性存储额外字段,方便前端后续调用
    $selectOptions .= "<option value=\"{$plan['dataPlan']}\" 
        data-duration=\"{$plan['duration']}\" 
        data-type=\"{$plan['type']}\" 
        data-status=\"{$plan['status']}\" 
        data-price=\"{$plan['price']}\">
        {$displayText}
    </option>";
}

// 输出完整的select控件,若只需要Option字符串可去掉外层select标签
echo '<select id="airtel-data-plans">' . $selectOptions . '</select>';
?>

关键说明

  • 请求容错:添加了curl错误检测和超时设置,避免请求异常导致程序崩溃。
  • 字段安全提取:使用isset()判断basic_user->Price字段是否存在,防止因API返回结构变动引发报错。
  • Option扩展:除了生成基础的Option选项,还通过data-*属性存储了duration、type等额外字段,便于前端获取更多套餐信息。
  • 灵活调整:可根据需求修改value值(比如改为价格或者唯一标识),或调整显示文本的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 14:57:04