У меня есть переменная $language
, который может быть: "en", "nl", or "fr"
У меня есть 3 другие переменные $menu_en, $menu_fr and $menu_fr
,
У меня есть страница php, где я хочу, чтобы меню появилось на любом из 3 языков.
Я попробовал это:
echo '$menu_' . $language;
То, что я хочу, это результат, чтобы быть значением $menu_en
а не строка $menu_nl
,
Как я могу это сделать? Может ли eval () помочь?
Как насчет использования array
?
$menu = array("en" => "Hi!", "it" => "Ciao!", "es" => "Hola!");
$language = "en";
echo $menu[$language]; // this will print Hi!
echo $menu["it"]; // will print Ciao!
Некоторые ссылки на массивы: http://php.net/manual/it/language.types.array.php
Вы можете использовать переменные переменные — вот так:
$menuVar = 'menu_'.$language;
echo $$menuVar;
Обратите внимание на двойные знаки доллара.
Ref: http://php.net/manual/en/language.variables.variable.php