Home >Backend Development >PHP Tutorial >做ajax请求后端PHP的时候最后输出数据为什么我看别人代码都是exit()而非echo

做ajax请求后端PHP的时候最后输出数据为什么我看别人代码都是exit()而非echo

WBOY
WBOYOriginal
2016-06-06 20:43:351279browse

我自己平常写的都是echo $data
但是我看别人的代码,很多都是exit($data)

回复内容:

我自己平常写的都是echo $data
但是我看别人的代码,很多都是exit($data)

一般情况下应该用 echo

exit() 的作用是强制终止脚本,用它输出结果附带的好处就是可以避免后续代码被执行
例如这种情况:

<code><?php $arg = 1;

if($arg == 0) {
  exit('failed');
} elseif($arg == 1) {
  echo 'oooooh!';
} elseif($arg == 2) {
  echo 'yeeeeeh!'
}

echo " It's wonderful";
?>
</code>

当 $arg 为 0 时,只输出 'failed' 不输出 "It's wonderful"

不过使用 exit() 有一个要注意的地方:
如果传给它的是一个数字,那么这个数字会被当作退出状态码,不会输出给客户端
具体可以看官方描述:http://cn2.php.net/exit

因为一般这种接口API在输出结果之后就算是完结了,为了防止一些逻辑上的问题导致后面的代码继续进行,干脆就用exit()在此处输出结果后停止脚本。以上是身为die党的一些个人感悟。

反正我喜欢exit
1.减少业务逻辑判断的压力
2.完成后立即退出php脚本执行

exit() die()个人经验主要就是反正输出后还有其他输出,影响客户端正常接收解析。具体实验可以试试,在输出完之后再有输出,客户端接收到的数据就错误了,小的在过往接收别人的项目时曾经遇到过,其他朋友说得也是同样道理。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn