PHP头条
热点:

PHP3中文文档续4


为了理解SWITCH语句为了躲避语句冗长,知道它如何被执行的是非常重要的.SWITCH语句石一行一行 执行的(事实上,是一条语句一条语句).在开始时,没有代码被执行.仅仅当一个值于SWITCH表达式的语句的值相同的CASE语句被发现后,PHP继续执行语句直到SWITCH体的结束,或者出现了BREAK语句.如果你在一个分支语句的后面没有写BREAK语句,PHP将继续执行下面分支的语句.例如:   /* example 3 */   switch ($i) { case 0: print "i equals 0"; case 1: print "i equals 1"; case 2: print "i equals 2"; }   这里,如果$i等于0,PHP将会执行所有打印语句.如果$i等于1,PHP将会执行剩下的两个打印语句,并且仅仅当$i等于2的时候,你才能得到你期望的执行结果,只有’I equals 2’被显示.因此不要在每一个分支语句的后面忘记BREAK语句(即使你在一定的环境下有可能想避免提供他们). 一个特殊的分支是默认的分支.这个分支可以匹配任何其它分支没有匹配的事情.例如:   /* example 4 */   switch ($i) { case 0: print "i equals 0"; break; case 1: print "i equals 1"; break; case 2: print "i equals 2"; break; default: print "i is not equal to 0, 1 or 2"; }   另外一个值得一提的事实是CASE表达式可以是任何计算标量类型的表达式,也就是说,整型或实型和字符型.数组和对象将不会导致PHP崩溃,但是他们没有没有任何意义.   REQUIRE REQUIRE语句使用指定的文件来代替它自己,与C语言中的#include语句非常相似。这意味着你不能把一个require()语句放在一个循环体中,并且期望它在每一次反复中都包含不同文件的内容.为了达到这个目的,可以使用INCLUDE语句。 require (header.inc);   INCLUDE INCLUDE语句包括和计算指定文件. 在每次遭遇INCLUDE语句的时候都会进行一次.因此你可以在一个循环体中使用INCLUDE语句.以用来包含一些不同的文件. $files = array (first.inc, second.inc, third.inc); for ($i = 0; $i < count($files); $i++) { include($files[$i]); } INCLUDE()与REQUIRE()语句是不同的,include语句是每一次都重新计算(并且仅仅当它被执行的时候),而require()语句当他第一次被碰到的时候,用指定的文件来代替它本身,无论这个文件的内容是否被计算(例如,如果它出现在一个条件为FALSE的if语句中). 因为include()是一个特殊的语言结构,你必须在一个语法块中封闭它,如果它在一个条件块中.   /*错误,不会同设想一样工作. */   if ($condition) include($file); else include($other);   /*下面是正确的. */   if ($condition) { include($file); } else { include($other); }   当一个文件被计算的时候,语法分析将处在”HTML-模式”中,这个模式将输出这个文件的内容直到第一个PHP开始标签(items[$artnr] += $num; } // Take $num articles of $artnr out of the cart function remove_item ($artnr, $num) { if ($this->items[$artnr] > $num) { $this->items[$artnr] -= $num; return true; } else { return false; } } } ?>   如上所示,定义了一个名字为Cart的class。这个class由多个描写物品的数组和添加项目、删除项目的函数组成。   Class是一种类型,这就是说,它是实际变量的设计蓝图。您可以根据设计建立一个变量组和针对它们的一些新的操作。示例如下:   $cart = new Cart; $cart->add_item("10", 1);   如上所示,建立了一个类型为class Cart的对象$cart。这个对象中的函数add_item()被调用来添加一个物品号为10的项目。   Class可以使用其他的Class来扩展。这个扩展的或者继承的class(类)拥有基本class所有的变量和函数同时您还可以在其中加如您自己做的扩展定义。要这样定义需要使用扩展定义的关键词。   class Named_Cart extends Cart { var $owner; function set_owner ($name) { $this->owner = $name; } }   以上定义了一个名字为Named_Cart的class(类),这个类拥有所有包含于类Cart中的变量和函数,同时还添加了一个变量$owner和函数set_owner()。您可以建立一个有名字的cart,同时获得cart的拥有者名字。您还可以在类Named_Cart中,使用普通的属于类cart的函数。   $ncart = new Named_Cart; // Create a named cart $ncart->set_owner ("kris"); // Name that cart print $ncart->owner; // print the cart owners name $ncart->add_item ("10", 1); // (inherited functionality from cart)   在这个类的函数中变量$this表示这个对象。在当前的对象中,您可以使用$this->something来访问任何变量和函数。   当您建立一个新的类时,有一个构造器函数将被自动的调用。如果某个函数的名字和类的名字一样,那么它就成为构造器:   class Auto_Cart extends Cart { function Auto_Cart () { $this->add_item ("10", 1); } }   在上面的例子中,定义了一个名字为Auto_Cart的类,它是在原来的类Cart中加上了一个构造器函数,这个构造器函数初始化了类Cart使用的方法是:在每次建立一个类的时候添加一个物品号为10的一个项目。构造器还可以显示一些信息,这些信息可以被随意的挑选,这使他们可以变的十分的有用,   class Constructor_Cart { function Constructor_Cart ($item = "10", $num = 1) { $this->add_item ($item, $num); } } // Shop the same old boring stuff $default_cart = new Constructor_Cart; // Shop for real... $different_cart = new Constructor_Cart ("20", 17);

www.phpzy.comtrue/phprm/39477.htmlTechArticlePHP3中文文档续4 为了理解SWITCH语句为了躲避语句冗长,知道它如何被执行的是非常重要的.SWITCH语句石一行一行 执行的(事实上,是一条语句一条语句).在开始时,没有代码被执行.仅仅当一个...

相关文章

    暂无相关文章

PHP之友评论

今天推荐