我是PHP的新手,并且有一个非常简单的问题。我已经看到人们在if语句的条件下调用并返回语句。例如
if ($connection = @ssh2_connect($host, 22)) { do something };
如果我没错,这将检查返回布尔值以及创建连接。这对一切都有效吗?更具体地说,对于fclose()
,我想知道我是否做了类似的事情:
if (fclose($stream)) { do something };
实际上将关闭它的布尔返回值并关闭流。或者我必须这样做吗?
...
fclose($stream);
if (fclose($stream)) { do something };
...
答案 0 :(得分:2)
你可以这样做:
if (fclose($stream)) { do something };
它会起作用,但可能不像你想的那样。首先关闭流,然后通过if
语句检查该函数的结果,即布尔值。
以另一种方式看待它:if
语句仅关注TRUE
或FALSE
,因此它会评估括号内的任何内容。如果这恰好是一个关闭流的函数,那就这样吧。
请注意,TRUE
只是非FALSE
的所有内容,FALSE
也可以是零(0
或'0'
),{{1 },''
等
答案 1 :(得分:0)