Php 使用print(而不是echo)以便以后可以使用headers()是否是一种不好的做法?
正如问题所述,今天早些时候,我通过用php重定向替换javascript重定向解决了代码中的一个错误:Php 使用print(而不是echo)以便以后可以使用headers()是否是一种不好的做法?,php,Php,正如问题所述,今天早些时候,我通过用php重定向替换javascript重定向解决了代码中的一个错误: header('Location: index.php') 我能做到这一点的唯一方法是将代码中的每个echo替换为print。通过这样做,我可以使用header()调用 我想知道这是否是一种不好的做法,如果是,原因是什么?在这种情况下,echo和print之间没有区别 在使用header发送重定向头之前,您可以尝试清除php输出缓冲区唯一差异的可能重复项,echo返回一个void,print
header('Location: index.php')
我能做到这一点的唯一方法是将代码中的每个echo
替换为print
。通过这样做,我可以使用header()
调用
我想知道这是否是一种不好的做法,如果是,原因是什么?在这种情况下,
echo
和print
之间没有区别
在使用
header
发送重定向头之前,您可以尝试清除php输出缓冲区唯一差异的可能重复项,echo返回一个void,print返回一个bool。@Xorifelse:实际上print
始终返回int
,特别是数字1。这不应该有任何区别<代码>打印的唯一区别是echo接受一个参数列表。-两者都会导致输出,从而使标题不被抛出。将代码添加到问题中,这样我们就可以看到您在做什么了。用print
替换echo
无法防止“标题已发送”问题。header()
之前的任何形式的输出都会导致这种情况,不管它是如何完成的。你一定改变了什么。