我有以下函数。
问题是$lang变量将根据$this->setts['site_lang'];
而变化。实际问题如下:
$condition_details['description_$lang']
(不起作用)。如何将其显示
$condition_details['description_us']
或
$condition_details['description_fr']
取决于$lang设置?
这里是完整的功能:
function shipped_drop_down($box_name = 'item_shipped_via', $selected = null, $form_refresh = null)
{
(string) $display_output = null;
$lang = $this->setts['site_lang'];
$sql_select_conditions = $this->query("SELECT id, description_".$lang." FROM " . DB_PREFIX . "advanced_shipping_carriers ORDER BY theorder,description_".$lang." ASC");
$display_output = '<select name="' . $box_name . '" ' . (($form_refresh) ? 'onChange = "submit_form(' . $form_refresh . ', '''')"' : '') . ' style="font-size:10px; width: 120px;"> ';
while ($condition_details = $this->fetch_array($sql_select_conditions))
{
$display_output .= '<option value="' . $condition_details['id'] . '" ' . (($condition_details['id'] == $selected) ? 'selected' : '') . '>' . $condition_details['description_$lang'] . '</option> ';
}
$display_output .= '</select> ';
return $display_output;
}
您可以进行
$condition_details['description_'.$lang]
或使用"
$condition_details["description_$lang"]
您可以将您的lang设置存储在如下数组中:
$lang['fr']['condition_details']
因此您可以使用$lang[$selected_lang]['condition_details']
使用"双引号"而不是"单引号"。这样$lang
将被解析并替换为相关值。
使用双引号,如:
$condition_details["description_$lang"]