Как я могу объединить строку с переменной и использовать ее в качестве другой переменной?

У меня есть переменная $language, который может быть: "en", "nl", or "fr"У меня есть 3 другие переменные $menu_en, $menu_fr and $menu_fr,

У меня есть страница php, где я хочу, чтобы меню появилось на любом из 3 языков.

Я попробовал это:

echo '$menu_' . $language;

То, что я хочу, это результат, чтобы быть значением $menu_en а не строка $menu_nl,

Как я могу это сделать? Может ли eval () помочь?

3

Решение

Как насчет использования 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

4

Другие решения

Вы можете использовать переменные переменные — вот так:

$menuVar = 'menu_'.$language;
echo $$menuVar;

Обратите внимание на двойные знаки доллара.

Ref: http://php.net/manual/en/language.variables.variable.php

3

По вопросам рекламы [email protected]