簡體   English   中英

如何使用PHP變量定義數組元素

[英]How to define an array element using a PHP variable

社區。

我一直在尋找答案,但距離這種情況還不夠遠

我有這樣的代碼(實際上工作正常):

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

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM