foreach 循环中的 PHP cURL 命令只显示最后的结果


PHP cURL command inside foreach loop only shows last result

我是编程新手,我使用 PHP 制作了一个页面,让我们使用 Canvas API 输入用户 ID 并添加观察者,效果很好。我现在正在尝试输入要观察的人员列表并让它处理多个 URL,这就是我遇到问题的地方。它似乎只处理框中的最终用户 ID。

知道我做错了什么吗?这不需要经常运行,我也不担心性能,所以我真的不需要同时处理 cURL 命令。

 $observeeA = explode ("'n", $observee);  
 $ch = curl_init();  
 curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);  
 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");  
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
 foreach ($observeeA as $ob2){  
   if ($idtype == "Canvas") {  
     $url = $domain . "/api/v1/users/$observer/observees/" . $ob2; }  
   else {  
     $url = $domain . "/api/v1/users/sis_user_id:$observer/observees/sis_user_id:" . $ob2; }  
   curl_setopt($ch, CURLOPT_URL, $url);  
   $resp = curl_exec($ch);  
   echo $ob2 . "<br>" . $url . "<br>" . $resp . "<br>";  
 }  
 curl_close($ch);   

第 13 行的 echo 输出 URL 的所有正确条目,但在列表中的最后一个条目之前,它永远不会得到响应。

事实证明,使用 explode 函数将字符串存储到数组中包括额外的隐藏返回字符,所以我添加了 $ob 2 = trim($ob 2); 到 foreach 循环中,它现在可以工作了。