Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/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 使用print(而不是echo)以便以后可以使用headers()是否是一种不好的做法?_Php - Fatal编程技术网

Php 使用print(而不是echo)以便以后可以使用headers()是否是一种不好的做法?

Php 使用print(而不是echo)以便以后可以使用headers()是否是一种不好的做法?,php,Php,正如问题所述,今天早些时候,我通过用php重定向替换javascript重定向解决了代码中的一个错误: header('Location: index.php') 我能做到这一点的唯一方法是将代码中的每个echo替换为print。通过这样做,我可以使用header()调用 我想知道这是否是一种不好的做法,如果是,原因是什么?在这种情况下,echo和print之间没有区别 在使用header发送重定向头之前,您可以尝试清除php输出缓冲区唯一差异的可能重复项,echo返回一个void,print

正如问题所述,今天早些时候,我通过用php重定向替换javascript重定向解决了代码中的一个错误:

header('Location: index.php')
我能做到这一点的唯一方法是将代码中的每个
echo
替换为
print
。通过这样做,我可以使用
header()
调用


我想知道这是否是一种不好的做法,如果是,原因是什么?

在这种情况下,
echo
print
之间没有区别


在使用
header
发送重定向头之前,您可以尝试清除php输出缓冲区唯一差异的可能重复项,echo返回一个void,print返回一个bool。@Xorifelse:实际上
print
始终返回
int
,特别是数字1。这不应该有任何区别<代码>打印的唯一区别是echo接受一个参数列表。-两者都会导致输出,从而使
标题不被抛出。将代码添加到问题中,这样我们就可以看到您在做什么了。用
print
替换
echo
无法防止“标题已发送”问题。
header()
之前的任何形式的输出都会导致这种情况,不管它是如何完成的。你一定改变了什么。