我有一个文件PHP01.php
,其中:
- 执行功能
- 创建一个数组
- echo的一些消息
我需要将这个文件包含在另一个php脚本中,比如PHP02.php
,因为我需要访问它创建的数组。但是,当我向PHP02.php
发送POST请求时,它返回的数据也包含来自echo
的{{1}}
如何抑制第一个文件的回声?
答案 0 :(得分:11)
如果无法进行编辑或重组,您可以输出缓冲区:
ob_start();
include "PHP02.php";
ob_end_clean();
答案 1 :(得分:0)
创建一个没有echo
答案 2 :(得分:0)
如果可以,您应该考虑重构原始PHP文件中的代码。如果它正在执行一个功能,它应该这样做。然后,调用该函数的代码应该决定是否要回显消息。
正如您刚刚了解到的,这是正交设计的重要组成部分。我建议重新编写它以便它执行你想要的,并让调用函数的代码决定他们想要输出什么。这样你就不必再担心这些事了。
您还可以查看使用输出缓冲区。请参阅PHP中的ob_flush
:http://php.net/manual/en/function.ob-flush.php
答案 3 :(得分:0)
尝试添加一个条件PHP01.php
来检查它的调用位置,这样可确保只有在调用的文件为PHP01.php
此外,如果您将功能放在他们自己的文件中(如果需要),以便保留某些功能,例如在PHP01.php
中,您可以添加include 'function01.php';
,这样会更好将在两个文件中共享该功能。