第十三节:控制结构-delcare-return-require-include-require_once-include_once-goto

return

如果在一个函数中调用return语句,将立即结束此函数的执行并将它的参数作为函数的值返回。return()也会终止eval()语句或者脚步文件的执行。

如果在全局范围中调用,则当前脚本文件中止运行。如果当前脚本文件是被include()或者require()的,则控制交回调用文件。此外,如果当前脚本是被include()的,则return()的值被当作include()调用的返回值。

require和include

require和include唯一的区别就是,处理失败的方式不同。include()会产生一个Warning警告,而后继续执行,而require()会产生一个致命错误,而后终止执行。

1 <?php
2 include 'a.php';
3 echo 'abc';
4 ?>
5 <?php
6 require 'a.php';
7 echo 'abc';
8 ?>

第一个还会输出abc,而第二个不会,另外include和requier不是函数,是语言结构,不需要括号。(理论上速度会更快)

特别是在比较值时,别加括号!

1 <?php
2 if((require 'other.php')=='OK')
3 echo 'OK';
4 ?> 

 include_once和require_once

他们同include和require基本相同唯一区别在于如果已经包含文件了,不会再次包含,如果包含成功会返回true。

PHP4中在大小写不敏感的操作系统如window

1 <?php
2 include_once "a.php"; // this will include a.php
3 include_once "A.php"; // this will include a.php again on Windows! (PHP 4 only)
4 ?> 

PHP5 会对路径事先格式化,所有还是可以区分。

goto

goto是PHP5.3后加入的新属性,用作于跳转到程序的某一个位置。该目标位置可以用目标名称,加上冒号来标记。PHP中的goto有一定限制,只能在同一个文件和作用域中跳转,也就是说你无法跳出一个函数或类方法,也无法跳入到另一个函数中。你也无法跳入任何循环或者switch结构中。常用的用法是用来跳出循环或者switch,可以代替多层的break。

 1 <?php
 2 $i=1;
 3 while(++$i):
 4 if($i=='5'):
 5 goto end;  
 6 endif;
 7 endwhile;
 8 end:
 9 echo $i;
10 ?>

貌似我的dreamweaver cs5不支持这个语法,以上代码SAE测试成功。

posted @ 2013-01-30 08:21  saws  阅读(269)  评论(0编辑  收藏  举报