格式化文本
往往是想格式化文本,创建一个消息或显示警告等方式做到这一点,将是一起concatanate文本的软件开发的情况。 然而,这是一个相当混乱的解决方案。 所以......
" An error occured on " . $ websiteName . " the error states " . $ errorText . " please try to " . $ error solution . 呼应 “发生错误”。websiteName。“的错误状态”。ERRORTEXT。“请尝试”错误的解决方案。
一个更好的解决办法是使用一个格式化字符串
,sprintf函数。
sprintf ( " An error occured on % s the error states % s please try to % s " , $ websiteName , $ errorText , $ error solution ) ; 呼应的sprintf(websiteName 美元 , 美元ERRORTEXT,$错误的解决方案“%s上的错误状态%S请尝试到%s时发生错误”);
一个更简单的方式做到这一点,将
使用 printf打印直到屏幕上,使用相同的格式字符串
的sprintf的格式化文本。
" An error occured on % s the error states % s please try to % s " , $ websiteName , $ errorText , $ error solution ) ; printf(“请错误%s的%s上发生错误,请尝试”,websiteName 美元 , 美元ERRORTEXT,$错误的解决方案);
%s的符号表示一个字符串参数将出现在该字符串中的点。 他们是为了放置在参数中,参数列表中。 因此,在上面的例子,它意味着websiteName来自第一和再ERRORTEXT。 字符串中的参数的数量必须匹配函数的参数数量,否则将抛出一个错误。 使用相同的参数超过一次,在一个字符串,你可以数的参数如下所示,参数的
名称被使用了两次。
name = " Tom " ; $名称=“汤姆”;
food = " apple " ; 美元的食物=“苹果”;
" % 1 $ s went to the shops to buy a % 2 $ s , which % 1 $ s was very pleased with . " , $ name , $ food ) ;输出(“%1 $ S去商店买了%2 $ s的 %1 $ S感到非常高兴。”,名称,食品);
格式化字符串,也可以是有用的代表SQL语句,来脱颖而出的另一个功能格式化字符串,指定类型。 这使得类型要正确对待。
type = " C " ; $ = 的“C”型;
sql = sprintf ( " SELECT * FROM Users WHERE UserType = ' % c ' " , $ type ) ; $ SQL的sprintf(“SELECT * FROM用户UserType中=”%C“,$类型);
这将确保美元类型的变量是作为一个字符,而不是anyother类型的输出。
已提供任何意见。
书面由多米尼克·斯金纳
最后更新:2011年10月25日十六点00分38秒