переменная сеанса внутри другой переменной - как? - PullRequest
0 голосов
/ 25 марта 2012

У меня есть скрипт, который отображает страны на разных языках. Например, «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 ]

1 голос
/ 25 марта 2012

То есть вы хотите объединить строку 'name_' с долей, хранящейся в сеансе?

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

Я думаю, что если вы добавите несколько речевых меток и фигурных скобок, вы можете сделать это:

$countries_array[] = $country_details["name_{$_SESSION['language']}"];
0 голосов
/ 25 марта 2012
$countries_array[] = $country_details[$_SESSION["language"]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...