我知道,标题没有用,但我会尝试解释一下,我在寻找什么。
我的主要问题是,我正在寻找一种简单的方法来组合两个阵列。
$lang = array('de' => 'german', 'es' => 'spanish', 'nl' => 'dutch');
我有X个网站应该有这样的表:
language value1 value2 value3
--------------------------------------
de 123 56 097
en 84 129 123
es 0 0 0
nl 0 0 0
网站Y可能如下所示:
language value1 value2 value3
--------------------------------------
de 9 12 123
en 32 65 156
es 0 0 0
nl 23 12 89
此表可能在每个站点上都有所不同,但我希望每种语言都显示,即使它没有值。语言列表应分开,以便以后扩展。
可理解?需要更多信息?
答案 0 :(得分:0)
我是从CLI做的,所以没有HTML结构。我不确定我是否完全了解你要做的一切,但这就是我所拥有的:
$lang = array('de' => 'german', 'es' => 'spanish', 'nl' => 'dutch', 'en' => 'english');
$sites = array(
'value1' => array('en' => 35, 'de' => 54),
'value2' => array('nl' => 543, 'en' => 234, 'es' => 2),
'value3' => array('es' => 39)
);
printf("%-10s", "language");
$site_names = array_keys($sites);
foreach($site_names as $site_name)
{
printf("%-10s", $site_name);
}
printf("\n%s\n", str_repeat('-', (count($site_names) + 1) * 10));
foreach($lang as $lang_short => $lang_long)
{
printf("%-10s", $lang_short);
foreach($sites as $site_name => $site_values)
{
printf("%-10d", isset($site_values[$lang_short]) ? $site_values[$lang_short] : 0);
}
printf("\n");
}
输出:
language value1 value2 value3 ---------------------------------------- de 54 0 0 es 0 2 39 nl 0 543 0 en 35 234 0