一个PHP程序的解释

来源:百度知道 编辑:UC知道 时间:2024/09/28 08:47:57
是用_e代替echo进行输出的,代码:
<?php
function _t($string)
{
if (func_num_args() <= 1) {
return Typecho_I18n::translate($string);
} else {
$args = func_get_args();
array_shift($args);
return vsprintf(Typecho_I18n::translate($string), $args);
}
}

function _e()
{
$args = func_get_args();
echo call_user_func_array('_t', $args);
}
class Typecho_I18n
{
public static function translate($string)
{
return $string;
}
}
?>
<?php
_e('感到反感的风格?');
?>
//输出:感到反感的风格?

问题:程序怎么看都看不懂,希望高手能仔细的帮忙解释解释,谢谢
代码精简后:
<?php
function _t($string)
{
if (func_num_args() <= 1) {
return $string;
} else {
$args = func_get_args();
array_shift($args);
return vsprintf($string, $args)

其实没什么新意,核心就是vsprintf,并且仍然是echo输出的,哗众取宠而已。

你把主程序换为下面的你就明白了:

<?php
_e('感到反感的风格?%d',123);
?>

实际上就是和C语言的printf功能相同,而PHP本身也是支持printf函数的。