Php str替换错误

Php str替换错误,php,Php,我在以下代码中有一个错误: $name = "Bush Dvd Player"; print "<a href='?name".print str_replace(' ', '-', $name).".html' >Previous</a>"; $name=“布什Dvd播放器”; 打印“”; 页面上显示了以下内容: 但是,汽车零件和附件不是url格式?str_replace()返回一个字符串,该字符串将连接到输出字符串,因此不需要额外的打印,因此只需忽略它: pri

我在以下代码中有一个错误:

$name = "Bush Dvd Player";

print "<a href='?name".print str_replace(' ', '-', $name).".html' >Previous</a>";
$name=“布什Dvd播放器”;
打印“”;
页面上显示了以下内容:

但是,汽车零件和附件不是url格式?

str_replace()
返回一个字符串,该字符串将连接到输出字符串,因此不需要额外的
打印,因此只需忽略它:

print "<a href='?name" . str_replace(' ', '-', $name) . ".html' >Previous</a>";
print”“;
您的旧代码将打印出
str_replace
的结果,然后是第一个字符串文字的串联,以及
print str_replace(''''-',$name)
的返回值,然后是第二个字符串文字。

str_replace()
返回将被串联到输出字符串的字符串,因此,不需要额外的
打印
,因此只需省略它:

print "<a href='?name" . str_replace(' ', '-', $name) . ".html' >Previous</a>";
print”“;

您的旧代码将打印出
str\u replace
的结果,然后是第一个字符串文字的串联,以及
print str\u replace('''-',$name)
的返回值,然后是第二个字符串文字。

发生的是在外部print语句之前对内部print语句进行求值。要解决此问题,只需删除第二个
print

所发生的事情是在外部print语句之前对内部print语句进行求值。要解决此问题,只需删除第二个
打印