脚本宝典收集整理的这篇文章主要介绍了php – 在数组中使用变量,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发多语言网站,并希望在一年前,几年前,一个月前用变量替换.
代码示例:
PRotected $strings = array( 'y' => array('1 year ago','%d years ago'),'m' => array('1 month ago','%d months ago'),'d' => array('1 day ago','%d days ago'),'h' => array('1 hour ago','%d hours ago'),'i' => array('1 minute ago','%d minutes ago'),'s' => array('Now','%d secons ago'),);
这可以不使用替换方法吗?
显然这不起作用:
‘m’=> array(‘1′.$month_ago,’%d’.$months_ago),
有什么帮助吗?
如果你做了这个修改(并适当地将类重命名为例如DateTimeDiffFormatter),那么突然所有的可能性都是开放的:你可以将参数传递给确定要使用的语言的构造函数,或者甚至更好地传递一些对你的i18n组件的引用.然后例如你可以
// I have no idea why this was protected,and probably the class author did not as well private $strings = array( 'y' => array('years_ago_1','years_ago_n'),// etc etc );
和
return sprintf($localizer->get_string($this->strings[$intervalKey][$pluralKey]),$value);
最后,假设您可以将本地化字符串的格式硬编码为“X分钟前”和类似内容,这是一个非常糟糕的主意.该数字需要是格式字符串的一部分,因为在许多文化中它不在“多久以前”部分之前.
更新
以上是脚本宝典为你收集整理的php – 在数组中使用变量全部内容,希望文章能够帮你解决php – 在数组中使用变量所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。