2011-04-19 89 views
1

我目前正在制作一个带有相册的网站。该网站有2种语言,英语和荷兰语。所以我做了语言文件,如:

$lang['hello'] = 'Hallo'; //Hallo is hello in dutch 

随着相册我试图使用像同样的原则:

$lang['discription_001'] = 'photo of a house'; 

随着显示我做了一个计数器的图像,现在我想用在像这样的dispription相同的计数器:

echo $lang['discription_'$counter] 

而且$counter001为照片编号之一。然而,这是行不通的,有人可以告诉我如何让这个工作,或任何其他方法来获得我想要的。提前

谢谢,托马斯·德泽乌

附:我是PHP新手,但通常情况下我会选择相当快的速度,因此请多加注意。

+0

echo $ lang ['discription_'。 $计数器] – 2011-04-19 15:42:02

回答

6

就快:

echo $lang['discription_' . $counter] 

.是PHP的连接运算符,用于组合的字符串。

+0

我现在开始工作了,还不确定我以前做错了什么,但非常感谢! – 2011-04-19 15:47:18

6

你刚才忘了string concatenation operator .来连接'discription_'$counter值:

$lang['discription_'.$counter] 
+0

我确实忘记了。 ,谢谢你。但是现在我得到:语法错误,意外的T_VARIABLE,期待']'为错误。并感谢非常快速的回应 – 2011-04-19 15:44:06

+0

@Thomas de Zeeuw:然后这个错误的原因是在别的地方。 – Gumbo 2011-04-19 15:46:08

4

你有一个错字。

echo $lang['discription_'$counter] 

应该

echo $lang['discription_' . $counter]; 
1

$counter一个字符串?如果是这样,如果你解决了解析错误你的例子应该能正常运行(您错过了连接符(.)。

这将是好得多,如果您从您的应用程序向我们展示了实际的代码。

echo $lang['discription_' . $counter];

2

你可以得到它通过简单的修复你的代码工作:

echo $lang['discription_'.$counter]; 

echo $lang["discription_{$counter}"]; 
0

由于您已经得到了答案,您已经忘记了连接操作符,但在我看来,更好的方法是使用多维数组。

echo $lang['descriptions'][$counter];