2012-03-25 81 views
0

我有一个用不同语言显示国家的脚本。例如,西班牙语中的“英国”将是“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']']; 

但我想不通的正确的语法:(

+0

'query_silent()' - 我喜欢这个名字! – 2012-03-25 16:09:14

回答

1

所以你想连接字符串'name_'与会话中存储的价值?

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

我认为,如果你添加一些言论标志和大括号,你可以这样做:

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

我觉得你搞砸了你最后一个例子的报价...... – 2012-03-25 16:30:10

+0

我确实,谢谢! – shanethehat 2012-03-25 16:47:17

+0

工作,谢谢:) – user1227914 2012-03-25 16:53:58

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