Foreach迭代不起作用

时间:2014-06-24 06:30:34

标签: php arrays

我在数组变量中得到了一些关键值。在这里,我迭代数组并执行它。


foreach ($key_details as $index => $value) {
   # code...
   $result = $s3->deleteObjects(array(
   'Bucket'  => CONTENT_BUCKET,
   'Objects' => array(
      array('Key' => $value),
   )
   ));
}

每次我需要创建一个实例。如果这可以像这样迭代


# code...
$result = $s3->deleteObjects(array(
   'Bucket'  => CONTENT_BUCKET,
   'Objects' => array(
      foreach ($key_details as $index => $value) {
         array('Key' => $value),
      }
   )
   ));
}

2 个答案:

答案 0 :(得分:0)

你一直在覆盖$result

$result = $s3->deleteObjects(array(....

你不建议创建一个数组吗?

$result[] = $s3->deleteObjects(array(....

$result[$key] = $s3->deleteObjects(array(....

你也可以在foreach之后设置结果,在foreach中是temp_object数组......

你有

array('Key' => $value)

你可能希望这就像

array($key => $value)

答案 1 :(得分:0)

你不能在这样的数组声明中使用foreach - 因此你的parse error: unexpected T_FOREACH...。但是,您可以先创建Objects的数据,然后将其用于deleteObjects参数。

$objects = array();
foreach ($key_details as $value) {
    $objects[] = array('Key' => $value);
}

$result = $s3->deleteObjects(array(
            'Bucket'  => CONTENT_BUCKET,
            'Objects' => $objects
        ));