我想写一个自己的翻译函数。
我的JSON文件看起来像:
{
"start": {
"body": {
"headline": "Hello, world!"
}
}
}
在我的PHP前端中,我只想为翻译后的字符串编写占位符。
<h1><?php trans('start.body.headline'); ?></h1>
我的PHP函数很简单,看起来像:
function trans($string) {
if (!isset($_GET['langID']))
$lang = 'de';
else
$lang = $_GET['langID'];
$str = file_get_contents('lang/'. $lang . '.json');
$json = json_decode($str);
$string = str_replace('.', '->', $string);
echo $json->$string;
}
但我没有得到结果。
My Function中的$字符串正确为:
start->body->headline
当我写:
echo $json->start->body->headline;
我得到“你好,世界”。
echo $json->$string;
是一样的,但不起作用。为什么?
1条答案
按热度按时间8tntrjer1#
因为您正在使用某个变量名**$string**作为函数参数,所以请在此处使用另一个变量名。
您还可以使用return方法
然后在html中使用echo的快捷方式