1个字符串,其中一个字符串是$ row相关

时间:2014-05-14 09:31:22

标签: php

我有一个从URL获取语言的变量(jp或en)

$lang = $_GET["lang"];

对于每种语言,我在数据库中都有一行

$menu_name_jp=$row['menu_name_jp'];
$menu_name_en=$row['menu_name_en'];

如何将$lang变量与$menu_name_变量合并,以便根据$ lang获得不同的变量

我尝试了类似的东西,但它不起作用(当然:))

$menu_name="$menu_name_$lang";

更多信息 我已经测试了这些示例,但是id没有用,因为我还有一个名为$ menu_name的变量,最后没有lang,用作默认语言。而我正在做的是:

if ($lang=="df")
{
$menu_name=$menu_name;
}
else
{
$menu_name=$menu_name.'_'.$lang;
}

因此,结果是它只是附加了lang的默认menu_name。喜欢这个

HOME_jp

由于

5 个答案:

答案 0 :(得分:2)

没有比这更简单的事了:

$menu_name = $row['menu_name_' . $lang];

答案 1 :(得分:1)

您必须使用点运算符追加值。试试

$menu_name="menu_name_".$lang;

答案 2 :(得分:1)

${"menu_name_".$lang} = $row['menu_name_'.$lang'];

然后你可以这样称呼它:echo $menu_name_jp

答案 3 :(得分:1)

这就是你所需要的:

<?php

$menu_name_jp='one';
$menu_name_en='two';

$lang = 'jp';


echo ${'menu_name_'.$lang};

答案 4 :(得分:1)

你可以使用,

echo $menu_name = ${'menu_name_'.$lang };

但我建议你创建一个数组,如

$menu_name = array("jp" => $row['menu_name_jp'],"en" => $row['menu_name_en']);
echo $menu_name[$lang];

<强> DEMO

相关问题