用另一个变量的值替换变量名的一部分?

Replace part of variable name with value of another variable?

我有一个巨大的翻译文件,其中包含所有以语言代码开头的变量,例如 $de_

$de_anzahl = 'Anzahl';
$en_anzahl = 'Quantity';
$nl_anzahl = 'Aantal';
$tr_anzahl = 'Miktar';
$ru_anzahl = 'Количество';

在 5 个不同的 php 文件中的用法如下所示 - 对于每种语言,只有前两个字母更改为目标语言,如 $nl_

<?php echo $nl_anzahl; ?>

是否可以通过将语言部分替换为我从会话存储中提取的变量值来更改变量名称的一部分。类似的东西:

<?php $nl_language_code = 'nl'; ?>
<?php echo $<?php echo $nl_language_code; ?>_anzahl; ?>

如果可能的话,我将能够批量查找和替换部件,并将 5 个文件缩减为一个。

如果您已经在里面 PHP,则无需 <?php ...。你可以使用这个:

<?php

$de_anzahl = 'Anzahl';
$en_anzahl = 'Quantity';
$nl_anzahl = 'Aantal';
$tr_anzahl = 'Miktar';
$ru_anzahl = 'Количество';

$nl_language_code = 'nl';

echo ${$nl_language_code . '_anzahl'};

会输出Aantal.

我认为更简单的方法是使用数组

你也可以像这样使用花括号:

$de_anzahl = 'Anzahl';
$en_anzahl = 'Quantity';
$nl_anzahl = 'Aantal';
$tr_anzahl = 'Miktar';
$ru_anzahl = 'Количество';

$lang = 'ru_anzahl';
echo ${$lang};