Jon*_*Coe 0 php mysql variables validation printf
我接手一个现有程序员的项目,老实说,他把项目留在了一大堆无法维护,难以理解的混乱中(编辑/澄清:几十个独立的.php页面,这些是php/html/css所有引用一个巨大的1500行'functions.php'文件,确认)
话虽如此,似乎几乎每个地方都有变量,数组等,他使用了printf().
例如,而不是使用:
foreach($thing as $t) {
echo "<option value='".$t."'>".$t."</option>";
}
Run Code Online (Sandbox Code Playgroud)
他会使用类似的东西:
foreach($thing as $t) {
printf("<option value='%s'>%s</option>", $t, $t);
}
Run Code Online (Sandbox Code Playgroud)
有没有人知道为什么他会这样做?使用printf()而不是echo/print,是否有一些我不知道的未知好处?
请注意,这不仅适用于可能需要验证/清理的值,而是适用于所有情况.从数据库,随机变量和其他地方定义的数组中提取的数据,绝对一切都是printf()而不仅仅是echo或print,我试图找出他为什么会使用这种方法,因为它可能有助于我理解逻辑在他建立的一些事情背后.
"优先使用printf()而不是echo或print()的唯一原因是你将使用带有附加参数的格式字符串占位符功能(每个这样的占位符一个).如果没有,则print()将更快,并且甚至(非常轻微)回显更快,因为它不会产生返回值."
在这里找到:echo VS printf