我在项目中设置了mustache php
。
echo $template->render(array(
'data'=>$data,
'lang'=>$lang,
'getMaritialStatus' => function($text, Mustache_LambdaHelper $helper) {
return Common::getTextInHindi(ucwords(strtolower($helper->render($text))));
}
));
我的用户定义函数是
public static function getTextInHindi($maritialStatus) {
return $GLOBALS['lang'][$maritialStatus];
}
现在在我的用户定义函数中,我在上面尝试打印时可以看到
print_r($GLOBALS['lang']['Married']); //gives correct output
print_r($GLOBALS['lang'][$maritialStatus]); //gives undefined index error
即使$maritialStatus
包含字符串'Married'
。
为什么会发生这种情况
答案 0 :(得分:2)
原来必须修剪价值:
$GLOBALS['lang'][trim($maritialStatus)]
最好在之前完成修剪,因此它已经以正确的格式存在:
echo $template->render(array(
'data'=>$data,
'lang'=>$lang,
'getMaritialStatus' => function($text, Mustache_LambdaHelper $helper) {
return trim(Common::getTextInHindi(ucwords(strtolower($helper->render($text)))));
}
));