使用key从foreach循环创建数组

时间:2011-06-18 19:17:12

标签: php arrays foreach

我找不到我想要的确切解决方案。

我正在尝试从保留密钥的foreach循环创建一个数组。这是我到目前为止的代码,但它只保留数组中的最后一个值:

foreach($links as $link) {
  //runs scrape_amazon function for each of the links
  $ret = scrape_amazon($link);

  foreach($ret as $key => $value) {
    //echo $key; 
    //echo $value;
    $final_results[$key] = $value;
  }
}

任何人都可以帮助解决方案来保留所有值和密钥吗?

提前致谢!

4 个答案:

答案 0 :(得分:6)

根据您最近的评论,这可以解决您的问题:

$ret = array();

foreach($links as $link) {
  $ret[] = scrape_amazon($link);
}

每次调用scrape_amazon()时,它都会将返回的数组添加到$ret,使其成为一个数组数组。

答案 1 :(得分:1)

如果您需要一组只是键,您需要这样做

$ret_keys = array_keys($ret);

答案 2 :(得分:1)

你为什么这样做?它看起来像:

$final_results = $ret;

答案 3 :(得分:0)

  // Create an empty array first      
  $final_results = array();
  foreach($links as $link) {
      //runs scrape_amazon function for each of the links
      $ret = scrape_amazon($link);
      $final_results[] = $ret; // DONE :)
  }