Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在数组项之间切换_Php_Arrays - Fatal编程技术网

Php 在数组项之间切换

Php 在数组项之间切换,php,arrays,Php,Arrays,我正在编写一个与外部API接口的应用程序。我们有五个API客户端(为了处理更多的请求——这是API T&C允许的),它们存储在一个数组中。我们还有另一个对象数组,我们使用foreach对其执行操作 例如: $clients = array( array( "key" => "somekey", "secret" => "somesecret" ), array( "key" => "somekey",

我正在编写一个与外部API接口的应用程序。我们有五个API客户端(为了处理更多的请求——这是API T&C允许的),它们存储在一个数组中。我们还有另一个对象数组,我们使用
foreach
对其执行操作

例如:

$clients = array(
    array(
        "key" => "somekey",
        "secret" => "somesecret"
    ),
    array(
        "key" => "somekey",
        "secret" => "somesecret"
    ),
    array(
        "key" => "somekey",
        "secret" => "somesecret"
    )
);
接下来,我们将处理一组对象:

$objects = array(
    array(
        "info" => "someinfo",
        "url" => "someurl",
        "id" => 1234,
        "more" => "more"
    ),
    array(
        "info" => "someinfo",
        "url" => "someurl",
        "id" => 1234,
        "more" => "more"
    ),
    array(
        "info" => "someinfo",
        "url" => "someurl",
        "id" => 1234,
        "more" => "more"
    )
);
因此,要使用一个API密钥处理它们,我们将执行以下操作:

foreach($objects as $object){
     $class->setAPIKey($clients[0]);
     $result = $class->process($object);
}
为了使用多个键处理它们,我们尝试了以下方法:

$key = 0;
foreach($objects as $object){
    $class->setAPIKey($clients[$key]);
    $result = $class->process($object);
    if($key + 1 == sizeof($clients)){
        $key = 0;
    } else {
        $key++;
    }
}

这是可行的,但似乎有点低效。有没有更快/更小的方法来做同样的事情?

您可以这样尝试:

foreach($objects as $key => $object){
     $class->setAPIKey($clients[$key]);
     $result = $class->process($object);
}