PHP中return的用法

来源:互联网 发布:linux中怎么安装gcc 编辑:程序博客网 时间:2024/06/05 03:52
今天研究了一下CI框架的使用,注意到他的配置文件,采用一种写法。如下:


return array(
   'config1' => 'somevalue',
   'config2' => 'somevalue',
);
?>

在这个文件中,直接就写了一个return,这个用法又一次突破了我的常识。特意查询了一下文档,里面这样描述的:
return
    If calledfrom within a function, the return() statement immediately endsexecution of the current function, and returns its argument as thevalue of the function call. return() will also end the execution ofan eval_r() statement or script file.
    If calledfrom the global scope, then execution of the current script file isended. If the current script file was include()ed or require()ed,then control is passed back to the calling file. Furthermore, ifthe current script file was include()ed, then the value given toreturn() will be returned as the value of the include() call. Ifreturn() is called from within the main script file, then scriptexecution ends. If the current script file was named by theauto_prepend_file or auto_append_file configuration options inphp.ini, then that script file's execution isended. 
return语句可以终止函数执行那自不必说了,这里还提到了可以终止eval过程的进行,并且如果处于被include的文件中,还能使return的值成为include和require函数的返回值。这样写的好处是,一个语句就可以得到配置项的内容了。

//原来这样写
require './config.php';
function test() {
   global$config;
   if ($config['a']=='b') echo'hello';
}

//现在
function test() {
   $config =require('./config.php');
   if ($config['a']=='b') echo'hello';
}
?>
0 0