2010-08-14 81 views
36

我想知道在下面的情况下哪一个更好的选择:PHP - 退出还是哪个更好?

在PHP脚本中,如果$fileSize变量大于100,我停止脚本;

案例一:

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

案例二:

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

案例三:

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

其中的三(3)以上选项,是最好的?

回答

55

由于您在全局范围内(不在函数内)使用exitreturn,因此行为几乎相同。如果你的文件通过include()require()称为

在这种情况下,区别会出现。 exit会终止程序,而return将采取控制返回给调用脚本(如果includerequire叫)。

6

我倾向于去与return()方法,让其他脚本可以继续执行。这样一来,如果你使用其他脚本调用这一个,它可以做错误处理,以处理该文件过大,而不是永远停止执行的情况。

3

这取决于...如果您的脚本只是为了输出消息而不想做任何事情,并且您不希望脚本事后做任何事情,那么exit()将起作用。否则,使用return。