Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 安全地将printf()更改为print()?_Php_Printing_Printf_Echo - Fatal编程技术网

Php 安全地将printf()更改为print()?

Php 安全地将printf()更改为print()?,php,printing,printf,echo,Php,Printing,Printf,Echo,因此,出于某种原因,我采用了使用printf()替代echo或print 我没有任何需要printf($var)的格式化字符串,因此它们可以(并且应该)全部转换为打印($var) 因为它们都有相同的语法printf($this.that')我可以只做一个文件夹范围的“查找和替换”来更改printf(到print)吗(安全?如果你确信你没有在任何地方使用printf功能,而且print已经足够了,那么你可以用一个简单的搜索/替换来替换它。如果你对printf的调用不需要格式化,你会遇到问题,例如,

因此,出于某种原因,我采用了使用
printf()
替代
echo
print

我没有任何需要
printf($var)的格式化字符串,因此它们可以(并且应该)全部转换为
打印($var)


因为它们都有相同的语法
printf($this.that')
我可以只做一个文件夹范围的“查找和替换”来更改
printf(
print)吗(
安全?

如果你确信你没有在任何地方使用printf功能,而且print已经足够了,那么你可以用一个简单的搜索/替换来替换它。

如果你对
printf
的调用不需要格式化,你会遇到问题,例如,它们真的应该被更改为
print
例如,如果对
printf
的输入包含
%
字符,则会出现一个错误,即参数字符串格式不正确

$something = 'Results: 10% complete.';
print($something);
printf($something); // ERROR: printf() thinks it should replace "% c"
                    //        with an integer not passed as a second argument
printf('%s',$something); // Pass unquoted input as a formatted argument

所以,基本上,如果您的代码从未使用过有意识的格式化输入的
printf
,您将受益于代码中的查找/替换,以将所有这些调用转换为
print

,当然,为什么不呢?最好是使用基于正则表达式的修改工具。检查
kfilereplace
,为我提供了无数次的服务……因为事情确实发生了。不是“经常”,但当某些东西停止工作时,我用
print
echo
替换
printf
,如果这是问题的话,它通常是有效的。所以它“有效”我只想它更稳定
,这样它们就可以(而且应该)全部变成打印($var);
[需要引用]谢谢你的澄清!我很想知道我收到的几个错误是否是因为字符串中有一个
%
。。谢谢!不客气!可能是这样的:不带引号的输入很容易产生这样奇怪的副作用。