58

次の場合、どちらがより良いオプションであるかを知りたいです。

PHP スクリプトでは、$fileSize変数が 100 より大きい場合、スクリプトを停止します。

ケース I:

<?php
if ( $fileSize > 100 )
{
   $results['msg'] = 'fileSize is too big!';
   echo json_encode( $results );
   exit();
}

ケース II:

<?php
if ( $fileSize > 100 )
{
   $results['msg'] = 'fileSize is too big!';
   exit( json_encode( $results ) );
}

ケース III:

<?php
if ( $fileSize > 100 )
{
   $results['msg'] = 'fileSize is too big!';
   return( json_encode( $results ) );
}

上記の 3 つのオプションのうち、どれが最適ですか?

4

4 に答える 4

94

exitandreturnをグローバル スコープ内で (関数内ではなく)使用しているため、動作はほぼ同じです。

この場合の違いは、ファイルがinclude()またはを介し​​て呼び出された場合に現れますrequire()exitはプログラムを終了しreturn、制御を呼び出し元のスクリプト (includeまたはrequireが呼び出された場所) に戻します。

于 2010-08-14T15:57:01.370 に答える
9

return()他のスクリプトの実行を継続できるように、私はこの方法を使用する傾向があります。そうすれば、別のスクリプトを使用してこのスクリプトを呼び出す場合、ファイルが大きすぎる場合に対処するために、常に実行を停止するのではなく、エラー処理を行うことができます。

于 2010-08-14T15:57:26.580 に答える
6

それは依存します...あなたのスクリプトがメッセージを出力することだけを目的としていて、その後スクリプトに何もさせたくない場合は、 exit() が機能します。それ以外の場合は、return を使用します。

于 2010-08-14T15:58:34.160 に答える
4

exit は、die() のようにプログラムを終了します。マニュアル

于 2010-08-14T15:58:01.650 に答える