当我使用双引号时,为什么PHP中的printf()不起作用?

5 php wordpress printf

printf("by %1$s on %2$s", 'string1', 'string2');不起作用,而printf('by %1$s on %2$s', 'string1', 'string2');确实起作用.

我实际上正在设计一个Wordpress主题,并且非常密切地遵循原始的二十世纪主题.奇怪的是,我一直在所有以前的printf()语句中使用双引号,没有任何问题.

edo*_*ian 11

因为当您使用双引号时,$s它被视为变量

如:

$x = "World";
echo "Hello $x"; // Will print: "Hello World
Run Code Online (Sandbox Code Playgroud)

使用时的位置:

$x = "World";
echo 'Hello $x'; // Will just print "Hello $x"
Run Code Online (Sandbox Code Playgroud)

有关更详细的说明,请查看手册:

字符串一般

单引号 vs 双引号