我试图使用vsprintf()来输出一个格式化的字符串,但是我需要在运行之前验证它是否有正确数量的参数,以防止“太少争论“的错误。如何在运行前检查vsprintf的参数是否正确
从本质上讲,我认为我需要的是一个正则表达式来计算类型说明符的数量,但对于正则表达式我很无用,而且我无法在任何地方为它提供资金,所以我认为我会给出一个走。 :)
除非你能想到更好的方法,这个方法是沿着我想要的。
function __insertVars($string, $vars = array()) {
$regex = '';
$total_req = count(preg_match($regex, $string));
if($total_req === count($vars)) {
return vsprintf($string, $vars);
}
}
请告诉我,如果你能想到一个更简单的方法。
完美的作品,谢谢。 – rich97 2010-01-13 02:30:35
rich97没问题。 – 2010-01-13 02:36:48
但是如果'format ='%3 $ s''时函数的内容类似'vsprintf(format,args)'呢? – lmojzis 2013-06-05 02:01:49