【问题标题】:multiple cURL and output JSON?多个 cURL 和输出 JSON?
【发布时间】:2011-12-12 05:37:26
【问题描述】:

我写了一个多重卷曲,它输出两个不同的数组

我正在使用 curl_multi_getcontent。

    for($i = 0; $i < $node_count; $i++)
    {

        $results = curl_multi_getcontent  ( $curl_arr[$i]  );
        $results = json_decode($results,true);

        /*echo "<pre>";
        print_r($results);
        echo "</pre>";*/
    }

这会输出两个数组。如果我想从其中一个数组中获取数据,如何调用第一个数组?还是第二个数组?

第一个数组有类似 $results[0] 之类的东西吗

foreach($results[0] as $result){
    echo $result['pagination']; 
}

【问题讨论】:

    标签: php json curl


    【解决方案1】:

    是的,到目前为止,$result 变量正在通过 for 循环相互覆盖。试试这个:

    for($i = 0; $i < $node_count; $i++)
    {
        $results[$i] = curl_multi_getcontent  ( $curl_arr[$i]  );
        $results[$i] = json_decode($results,true);
    }
    
    print_r($results);
    

    您的数组中现在应该有两个元素,您可以通过$results[0]$results[1] 等调用...

    【讨论】:

    • 这不显示 json 字符串,它只是去 Array { [0]=&gt; [1]=&gt; } 并且这些没有任何价值
    • $curl_arr 数组中有哪些数据?
    • 我没有对您的 curl 对象进行任何更改,因此它应该具有与您在原始帖子中打印出来的相同的数组。如果您包含更多代码,那将有所帮助。
    • 我现在可以使用它了。您还必须在 json_decode 中添加 [$i] 。但由于某种原因,我无法输出该值。如果我使用foreach($results[0] as $result){echo $result['data'];} 知道任何原因吗?它说未定义的索引
    • 是的,你的 foreach 应该是这样的:foreach($results as $result){echo $result['data'];}
    【解决方案2】:

    PHP 的文档中有一个使用 curl_multi_exec 的示例。基本上,它会创建两个 cURL 句柄,将它们添加到 curl_multi_add_handle 接口,然后并行运行它们。

    【讨论】:

    • 如果我能够使用 curl_multi_getcontent 输出结果,我如何从不同的数组中请求值?我能够输出 1 个数组和另一个数组,调用这两个数组的最佳方法是什么?
    猜你喜欢
    • 1970-01-01
    • 2019-05-24
    • 2021-09-17
    • 2018-05-06
    • 2022-01-14
    • 2017-04-08
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    相关资源
    最近更新 更多