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

时间:2013-11-01 15:13:13

标签: php arrays variables element

社区。

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

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

array('desc'=>'Home')

它正在将其定义为文本(Home),但我宁愿将其用作多语言网站的PHP变量。使用语言包我有一个变量:

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

因此,根据所选语言,值会更改

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

array('desc'=>'variablehere')

有人可以告诉我,我错过了什么吗?我试图将其设置为变量,如echo和其他方式。

非常感谢!

3 个答案:

答案 0 :(得分:1)

喜欢这个吗?

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

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

在你的情况下:

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

答案 1 :(得分:0)

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

的内容
$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'

答案 2 :(得分:0)

改为使用翻译功能:

// 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

}