另一个变量里面的session变量 - 怎么样?

时间:2012-03-25 16:03:54

标签: php session variables syntax

我有一个显示不同语言国家/地区的脚本。例如,西班牙语中的“United Kingdom”将是“Reino Unido”等。每种语言都存储在不同的表中,例如西班牙语的“name_es”或英语的“name_en”。然后通过为每个用户存储的会话值选择正确的表。我有这个:

    if ($countries_id)
    {
        $sql_select_countries = $this->query_silent("SELECT name_".$_SESSION['language']." as name FROM " . DB_PREFIX . "countries WHERE
            id IN (" . $countries_id . ")");

        if ($sql_select_countries)
        {
            while ($country_details = $this->fetch_array($sql_select_countries))
            {   
                $countries_array[] = $country_details['name'];
            }
        }
    }

请注意,问题在于:

$countries_array[] = $country_details['name'];

我需要它像

$countries_array[] = $country_details['name_$_SESSION['language']'];

但我无法弄清楚正确的语法:(

2 个答案:

答案 0 :(得分:1)

所以你想把字符串'name'和session中存储的值连接起来吗?

$countries_array[] = $country_details['name_'.$_SESSION['language']];

我认为如果你添加一些语音标记和大括号,你可以这样做:

$countries_array[] = $country_details["name_{$_SESSION['language']}"];

答案 1 :(得分:0)

$countries_array[] = $country_details[$_SESSION["language"]];