为什么(如果错误返回"true")...返回true?

JD *_*cks 3 php return-value

在函数的开头,我有这个:

if(false);
{
    return 'TRUE';
}
Run Code Online (Sandbox Code Playgroud)

它正在返回"TRUE"!显然我的真正用途是检查更有用的表达式并返回其他内容.我只是改变它来阐述我的观点.

为什么会这样?你能否在if语句中放一个回报?我一直用其他语言做这件事.

例如

而不是这个:

function () {
if(something)
{
//process stuff
}
}
Run Code Online (Sandbox Code Playgroud)

这需要在if内部的函数内部进行包装.

我更喜欢这样做:

function() {
if(!something)
return;
//process stuff
}
Run Code Online (Sandbox Code Playgroud)

这在PHP中是不行的...有解决方法吗?

Dut*_*432 21

你真的很疯狂.:)

if(false); //   <----- remove semi colon
{
    return 'TRUE';
}
Run Code Online (Sandbox Code Playgroud)

应该少一个分号.

if(false)
{
    return 'TRUE';
}
Run Code Online (Sandbox Code Playgroud)

  • 哇,我现在觉得自己像个傻瓜.这是一个非常漫长的一天..但我应该在发布之前看到它. (3认同)

Jam*_*oth 8

if条件之后你有一个额外的分号.