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

PHP如何从GitHub API返回的JSON数组中提取所有仓库的full_name字段

实现代码

修正后可直接提取所有full_name的代码

$curl1 = curl_init();
curl_setopt($curl1, CURLOPT_URL, $userdata->repos_url);
curl_setopt($curl1, CURLOPT_HEADER, 0);
curl_setopt($curl1, CURLOPT_HTTPHEADER, array(
    'User-Agent: MY_WEBSITE_HERE Addon Developer OAuth'
));
curl_setopt($curl1,CURLOPT_USERAGENT,'User-Agent: MY_WEBSITE_HERE Addon Developer OAuth');
curl_setopt($curl1, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl1, CURLOPT_SSL_VERIFYPEER, false);  
curl_setopt($curl1, CURLOPT_SSL_VERIFYHOST, 0);
$cont1 = curl_exec($curl1);
// 修正原代码错误:需要关闭的是curl句柄而非返回内容
curl_close($curl1);

// 解析返回的JSON为关联数组
$repoList = json_decode($cont1, true);

// 遍历输出所有full_name
foreach ($repoList as $repo) {
    echo $repo['full_name'] . "<br>";
}

生成下拉选择框的代码

如果要直接生成可供用户选择的下拉选项,把遍历部分替换为以下逻辑即可:

<select name="github_repo">
    <?php foreach ($repoList as $repo): ?>
        <option value="<?php echo htmlspecialchars($repo['full_name']); ?>">
            <?php echo htmlspecialchars($repo['full_name']); ?>
        </option>
    <?php endforeach; ?>
</select>

可选容错补充

如果需要处理异常场景,可增加以下判断:

  • curl请求失败判断:if($cont1 === false) { // 处理请求错误逻辑 }
  • JSON解析失败判断:if(json_last_error() !== JSON_ERROR_NONE) { // 处理返回内容不合法逻辑 }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:48:05