PHP die()vs echo

时间:2011-04-29 00:56:04

标签: php

任何人都可以告诉我为什么第1行有效(返回35434),但第2行没有(返回空白)?

  1. echo $_FILES['userfile']['size'];
  2. die ($_FILES['userfile']['size']);
  3. 谢谢!

3 个答案:

答案 0 :(得分:11)

die相当于exit,您会注意到exit将整数或字符串作为参数。在传递整数的情况下,程序退出并返回该整数作为其退出代码。

$_FILES['userfile']['size']是一个整数,而不是字符串,因此它不是将消息输出到屏幕,而是返回大小作为程序的返回码。

一个简单的解决方案是连接到一个空字符串,让PHP编译器需要一个字符串而不是一个整数:

die('' . $_FILES['userfile']['size']);

答案 1 :(得分:2)

几小时前我answered this,无论如何,其他答案都是正确的。

作为一种解决方法(如果你需要这样做),将整数转换为字符串就可以解决问题:

die(strval($_FILES['userfile']['size'])); // or
die((string) $_FILES['userfile']['size']);

答案 2 :(得分:1)

die()仅打印字符串。 (See manual)如果你在那里添加一些文本,它会起作用,出于某种原因。 ;)