如何使用 PHP 变量定义数组元素


How to define an array element using a PHP variable

community.

我一直在寻找答案,但还不够接近这种情况

我有这样的代码(实际上工作正常):

array('desc'=>'Home')

它正在将其定义为文本(主页),但由于多语言站点,我宁愿将其用作PHP变量。使用语言包,我有一个变量,例如:

$lang['HOME'] = 'Home';

因此,根据所选语言,值会发生变化

换句话说,我需要数组将变量值作为元素

array('desc'=>'variablehere')

谁能告诉我我错过了什么?我尝试将其设置为变量,回声等其他方式。

多谢!

像这样?

$myArray = array('desc' => $variable);

$myArray = array(
    'desc' => $desc,
    'name' => $name
);

在您的情况下:

$lang = array('HOME' => $homeVariable);

使用多维数组。 例如,给定类似

$lang = 'en';
$key = 'desc';

确切的数组结构取决于您的需求,但它可以主要按语言或

按键翻译:

基于语言:

$translations = array(
   'en' => array('desc' => 'foo'),
   'fr' => array('desc' => 'bar')
);
$text_to_display = $translations['en']['desc']; // produces 'foo'

$translations = array(
    'desc' => array(
        'en' => array('desc' => 'foo'),
        'fr' => array('desc' => 'bar')
    )
)
$text_to_display = $translations['desc']['fr']; // produces 'bar'

改用翻译函数:

// It can be key-based, i.e., t('home_string'), or literal like below
t('Home');

function t($text, $language = NULL)
{
    if (!$language) {
        // determine visitor's language
    }
    // look up translation in db/file
    // if none found just return $text as is
}