2017-04-05 112 views
-1

有两个变量,但一个是另一个的变量。现在我想打印翻译的变量到页面。PHP中两个组合变量的新变量的打印值

$name = "blabla"; 
$name_en = "this is english blabla"; 
$locale = "_en"; 
echo $name.$locale; 

它打印blabla_en而不是 “这是英语布拉布拉”

+1

什么你正在寻找被称为[变量变量](http://php.net/manual/en/language.variables.variable.php) – imtheman

回答

2

一种解决方案是variable variables

$name = "blabla"; 
$name_en = "this is english blabla"; 
$locale = "_en"; 
echo ${'name'.$locale}; // set variable name as static string and locale suffix 

一个更好解决方案是使用arrays

$messages = [ 
    'blabla' => [ 
     'de' => 'blabla', 
     'en' => 'this is english blabla' 
    ] 
]; 
$locale = "en"; 
echo $messages['blabla'][$locale]; 
+0

谢谢。我会接受 – yigitozmen