整数是否未显示为die()参数?

问题描述 投票:9回答:3

我有这个奇怪的问题。调试时,有时我的代码看起来像这样

<?php
$var = 15;
die($var);

die()函数有效,但是什么也不输出

但是,这个有效

<?php
$var = 15;
die($var."<-");

http://sandbox.phpcode.eu/g/81462.php

怎么可能?我错过了什么?还是错误?

php debugging int behavior
3个回答
9
投票

请参见http://www.php.net/manual/en/function.exit.php(die()等同于exit())

如果状态是一个字符串,此函数将在退出前打印状态。

如果status是整数,则该值将用作退出状态,并且不会打印。退出状态应在0到254的范围内,退出状态255由PHP保留,不得使用。状态0用于成功终止程序。


1
投票

[die()exit()相同,请查看退出文档,它需要1个参数,$status,参数信息指出]

如果状态是一个字符串,此函数将在退出前打印状态。

如果status是整数,则该值将用作退出状态,并且不会打印。退出状态应在0到254的范围内,退出状态255由PHP保留,不得使用。状态0用于成功终止程序。

注意:PHP> = 4.2.0如果是整数,则不会显示状态。

不言自明,如果您想传递数字,则需要像这样输入字符串:

die( (string)$code );

0
投票

die()函数需要一个字符串参数。

在第二个示例中

die($var."<-");

$ var在使用“ >” concat之前转换为String。因此,此行将打印出“ 15 ”。这很正常。没有错误,也没有任何错误。

© www.soinside.com 2019 - 2024. All rights reserved.