2017-09-19 18 views
1

私はPHPを初めて使い、とても簡単な質問をしました。私は人々がifステートメントの条件でステートメントを呼び出して返すのを見てきました。たとえば、PHPがメソッドを呼び出して同時に戻り値を返す

私が間違っていない場合、これは戻り値のブール値をチェックし、接続を作成します。これはすべてのために機能しますか?具体的には、fclose()のために、私はこのような何かを行うかどうかを知りたい:

if (fclose($stream)) { do something }; 

は、実際にそれのboolean型の戻り値のチェックを閉じて、ストリームを閉じます。または私はこれをしなければならないのですか?

if (fclose($stream)) { do something }; 

をし、それは動作しますが、おそらくあなたが考えて好きではない:

... 
fclose($stream); 
if (fclose($stream)) { do something }; 
... 

答えて

2

あなたは行うことができます。ストリームは最初に閉じられ、次にその関数の結果であるブール値がifステートメントでチェックされます。

ifの文では、TRUEまたはFALSEしか気にしないので、角かっこの中に何かを評価しました。これがストリームを閉じる関数である場合は、それもそうです。 TRUEFALSEFALSEではありませんすべてはまた、できるだけ早く関数は(ブール値と同等の値を返すようにゼロ(0または'0')のようなもの、''NULLなど

+0

感謝を参照してください。 1.ストリームを閉じる2.ストリームが何かを行う(例えば、データベースを更新する)場合。私はちょうど上記の権利を行うことができますか? – kkmoslehpour

+0

はい、正しいです。 –

0

ことができるだけであることを

注意fclose返すブール値)it'l作業は、とても基本的に、これは私が起こることを望むものである、あなたの答えのためのherehere

// this doesn't make much sense, because you already closed a stream 
fclose($stream); //return true 
if (fclose($stream)) { // will return false because resource already closed 
    // do something 
}; 
関連する問題