利用vsprintf+func_get_args()实现动态输出

vsprintf简介

vsprintf是格式化将字符串写入变量中
类似的还有sprintf是将格式化字符串写入一个变量中

func_get_args简介

func_get_args()返回的是包含当前函数所有参数的一个数组
另外
func_get_arg() 返回的是指定位置的参数的值
func_num_args() 返回的是当前函数的参数数量 返回的是数字

利用vsprintf和func_get_args()来动态的输出某一些模板字符串

$demo1 = 'hello';
$demo2 = 'hello,%s';
$demo3 = 'hello,%s,my name is %s';

function getText($textTemplate){
    $args = func_get_args();
    array_shift($args);//将数组的一个元素移除数组
    return vsprintf($textTemplate,$args);
}
echo getText($demo1);echo "\n";
echo getText($demo2,'blue');echo "\n";
echo getText($demo3,'blue','yian');

对应输出:
hello
hello,blue
hello,blue,my name is yian

添加新评论