Reputation: 193
I have set up mustache php
in my project.
echo $template->render(array(
'data'=>$data,
'lang'=>$lang,
'getMaritialStatus' => function($text, Mustache_LambdaHelper $helper) {
return Common::getTextInHindi(ucwords(strtolower($helper->render($text))));
}
));
and my user defined function is
public static function getTextInHindi($maritialStatus) {
return $GLOBALS['lang'][$maritialStatus];
}
Now in my user defined function as you can see above when I try to print
print_r($GLOBALS['lang']['Married']); //gives correct output
print_r($GLOBALS['lang'][$maritialStatus]); //gives undefined index error
even though $maritialStatus
contains the string 'Married'
.
Why is this happening
Upvotes: 6
Views: 550
Reputation: 6084
Turned out the value had to be trimmed:
$GLOBALS['lang'][trim($maritialStatus)]
At best trimming is already done before, so that it exists in the right format already:
echo $template->render(array(
'data'=>$data,
'lang'=>$lang,
'getMaritialStatus' => function($text, Mustache_LambdaHelper $helper) {
return trim(Common::getTextInHindi(ucwords(strtolower($helper->render($text)))));
}
));
Upvotes: 2