使用函数

时间:2016-09-27 23:19:05

标签: php arrays

我有多个站点地图,我想将它们全部合并,但在合并它们之前,我需要为所有数组中的所有值附加一个唯一的变量。

// The global variable
define("BASE_URL", "http://domain.com");
$sitemap_full = [ "home" => BASE_URL ];

// One of the arrays
$sitemap_example = [
  "foo" => "/bar",
  "gnu" => "/lar"
];

由于我有多个这样的数组,我想创建一个附加链接的函数。

function pushToSitemap($initial_sitemap, $sitemap) {
    foreach ($initial_sitemap as $title => $url) {
      return $sitemap[$title] = BASE_URL . $url;
    }
}

并将采取行动:

pushToSitemap($sitemap_example, $sitemap_full);

但这不起作用,因为如果我print_r($sitemap_full);它会显示Array( "home", "http://domain.com" );

真正令我烦恼的是,如果我在回应它们的功能中,它们会被回应。

我做错了什么?

修改

应该显示

Array(
  "home" => "http://domain.com"m
  "foo" => "http://domain.com/bar",
  "gnu" => "http://domain.com/lar
);

1 个答案:

答案 0 :(得分:1)

您的问题似乎在 public void solve(int n, String start, String mid, String end) { if (n == 1) { System.out.println(a + " : "+ start + " to " + end); a++; } else { solve(n-1, start, end, mid); System.out.println(a + " : " + start + " to " + end); a++; solve(n-1, mid, start, end); } } 函数中:

foreach

返回只是一个项目,而且格式化已关闭。

相反,

function pushToSitemap($initial_sitemap, $sitemap) {
    foreach ($initial_sitemap as $title => $url) {
      return $sitemap[$title] = BASE_URL . $url;
    }
}