Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在foreach循环优化中使用curl?

在foreach循环优化中使用curl?
EN

Stack Overflow用户
提问于 2013-01-20 08:00:38
回答 1查看 3.7K关注 0票数 0

如果我在foreach循环中使用curl,这是不是很糟糕,或者会不会很慢?

我计划有一个自动补全输入字段,输入中的查询将被发送到一个API调用。

我正在从某个链接获取id (即:http://api.linke1.com/names)

代码语言:javascript
运行
AI代码解释
复制
foreach($json as j){

    $id = $j->id; //from http://api.linke1.com/names

    $url = "https://api.site/{$id}/photos";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $output = curl_exec($ch);
    curl_close($ch);    

    $jsonDecode = json_decode($output);
    $results = $jsonDecode->results;
    foreach($results as $result)
    {   
            $photoURL= $result->photo->url; //from https://api.site/{$id}/photos
    }
}

所以每次我输入一个名字,它就会进入foreach从http://api.linke1.com/names中搜索一个id,然后它会从另一个链接中查找照片url。我想输出一个数组列表,所以最终我将有一个数据列表输出,显示诸如姓名、照片等信息……

这是否会显著降低速度,因为在输入字段中键入的每个字母都会经过foreach循环。会有更简单的方法吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2013-01-20 08:06:03

初始化curl和循环之前未更改的内容,然后在循环之后关闭它。

这会让事情变得更快一点。

您还可以使用curl_multi_*,它可以并行获取多个URL。

http://se2.php.net/manual/en/ref.curl.php

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14422701

复制
相关文章
forEach在集合中的使用
任何类型Collection的可迭代 - 列表,集合,队列 等都具有使用forEach的相同语法。
崔笑颜
2020/06/08
3.6K0
Java中的增强 for 循环 foreach
  foreach 是 Java 中的一种语法糖,几乎每一种语言都有一些这样的语法糖来方便程序员进行开发,编译期间以特定的字节码或特定的方式来对这些语法进行处理。能够提高性能,并减少代码出错的几率。在
IT可乐
2018/01/04
3.1K0
Java中的增强 for 循环   foreach
Java 中for循环和foreach循环哪个更快?
在Java编程中,循环结构是程序员常用的控制流程,而for循环和foreach循环是其中比较常见的两种形式。关于它们哪一个更快的讨论一直存在。本文旨在探究Java中的for循环和foreach循环的性能差异,并帮助读者更好地选择适合自身需求的循环方式。通过详细比较它们的遍历效率、数据结构适用性和编译器优化等因素,我们将为大家揭示它们的差异和适用场景,以便您能够做出更明智的编程决策。
葡萄城控件
2023/10/16
6530
Java 中for循环和foreach循环哪个更快?
java退出foreach循环_forEach方法如何跳出循环[通俗易懂]
3.1 foreach()不能使用break和continue这两个关键字,foreach和普通的for循环是不同的,它不是普通的遍历,实现continue的效果可以直接使用return。
全栈程序员站长
2022/09/01
15.1K0
JavaScript中如何中断forEach循环
arr.forEach(callback[, thisArg]),callback会接收到三个参数:currentValue、index、array
meteoric
2018/11/20
2.8K0
js 中 forEach 如何跳出循环?
// 1.for方法跳出循环 function getItemByIdFor(arr, id) { var item = null; for (var i = 0; i < arr.length; i++) { console.log("for循环 i", i); if (arr[i].id == id) { item = arr[i]; break; } } return ite
蓓蕾心晴
2022/11/22
8.5K0
增强For循环(foreach)
(1)只能顺序遍历所有元素,无法实现较为复杂的循环,如在某些条件下需要后退到之前遍历过的某个元素,不能完成
星哥玩云
2022/09/14
2.2K0
cssjshtml js 循环forEach
 js 循环forEach const names=new Array() resp.series.forEach(function (item,index) { names.push(item['name']) })
葫芦
2019/04/17
6.3K0
c# 中for和foreach循环的区别
    (2)效率比for要高(C#是强类型检查,for循环对于数组访问的时候,要对索引的有效值进行检查)
vv彭
2020/10/27
4.9K0
c# 中for和foreach循环的区别
Parallel.ForEach 使用多线程遍历循环
原地址路径:https://www.cnblogs.com/personblog/archive/2019/10/09/11640801.html
全栈程序员站长
2022/09/09
1.4K0
for和foreach循环语句
今天我们来讲解一下 for跟foreach 一、for 是一个循环语句 for break continue 从 i=0开始,到i=10结束,每次循环 for (i = 1; i <= 10; echo $i; } for (i = 10; i >0; echo $i; } //for可以嵌套 for (i = 1; i <= 10; for (j = 1; j <= 10; continue; echo i.j; } if($i==5) bre
老雷PHP全栈开发
2020/07/02
2.9K0
lamda中stream的forEach与for循环对比
循环大概在50000大小的时候for循环就开始慢慢运行时间大于forEach,在50000数据之前都是for循环优势。但是当我直接加到1000000大小时发现for循环的速度优势又回来了,又测试了500000发现依然是for循环优势。 所以大概率下,几万几万数据时forEach速度是领先的。小数据和极大数据下for循环领先,所以推荐使用for循环,一般业务中很少有几万数据去循环。
全栈程序员站长
2022/11/15
1.2K0
lamda中stream的forEach与for循环对比
day022: forEach中return有效果吗?如何中断forEach循环?
022: forEach中return有效果吗?如何中断forEach循环? 在forEach中用return不会返回,函数会继续执行。 let nums = [1, 2, 3]; nums.forEach((item, index) => { return;//无效 }) 中断方法: 使用try监视代码块,在需要中断的地方抛出异常。 官方推荐方法(替换方法):用every和some替代forEach函数。every在碰到return false的时候,中止循环。some在碰到return ture的时
用户3806669
2021/03/11
2.5K0
变相跳出forEach循环
众所周知,forEach循环是无法中途跳出循环的,有点同学说不是可以通过抛出错误跳出循环吗?是的。抛出异常是广为流传的一种方法,结果是我们想要,但是你看代码,哪个正常人会这样写代码?是非forEach不用吗?还是其他的循环关键字不配呢。
骤雨重山
2023/08/13
2010
变相跳出forEach循环
使用 curl 下载需要太长时间?试试在 cURL 中设置超时
cURL是一个出色的网络通信工具,它代表“客户端 URL”。几乎所有设备都使用地球上连接到 Internet 的 cURL,cURL 最广泛的用途是从终端中的远程服务器下载文件。
网络技术联盟站
2022/05/20
3.9K0
使用 curl 下载需要太长时间?试试在 cURL 中设置超时
【Java学习笔记之十】Java中循环语句foreach使用总结及foreach写法失效的问题
foreach语句使用总结 增强for(part1:part2){part3}; part2中是一个数组对象,或者是带有泛性的集合. part1定义了一个局部变量,这个局部变量的类型与part2中的对象元素的类型是一致的. part3当然还是循环体. foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。 foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为fo
Angel_Kitty
2018/04/09
2.1K0
MyBatis xml foreach循环语句
collection指定集合的上下文参数名称比如这里的@Param("list") item指定遍历的每一个数据的变量,一般叫it,可以使用it.userName来获取具体的值 index集合的索引值,从0开始 separator遍历每条记录并添加分隔符 除了批量插入,使用SQL in查询多个用户时也会使用:
FHAdmin
2021/09/14
2.3K0
forEach循环实现卡片列表
jsp页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html> <html lang="en"> <head> <% String path = request.getRequestURI(); Strin
王小婷
2019/05/06
4.3K0
forEach循环实现卡片列表
为啥await在forEach中不生效?
前两天要写循环遍历请求接口,于是就在forEach中用到了await,但是根本不是我想要的啊!
用户3258338
2019/10/29
2.5K0
Parallel.For循环 和 Parallel.ForEach循环
但是,有的时候又不是这样。如果迭代之间彼此独立,并且程序运行在多核处理器的机器上,如果能将不同的迭代放在不同的处理器上并行处理的话,将会受益匪浅。Parallel.For 和 Parallel.ForEach结构就是这样做的。
全栈程序员站长
2022/09/09
2.8K0
Parallel.For循环 和 Parallel.ForEach循环

相似问题

在laravel中优化foreach循环

10

在Curl函数中运行foreach循环

12

优化foreach循环

41

在foreach-循环(php)中使用cURL

12

使用foreach循环优化数组迭代

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文