In order to understand the SWITCH statement and to avoid statement verbosity, it is important to know how it is executed. The SWITCH statement is executed line by line (in fact, statement by statement). At the beginning, no code is executed. Just when a After a CASE statement with the same value as the statement in the SWITCH expression is found, PHP continues to execute the statement until the end of the SWITCH body, or a BREAK statement. If you do not write a BREAK statement after a branch statement, PHP will continue execution. The following branch statement. For example: /* example 3 */ switch ($i) { case 0: print "i equals 0"; case 1: print "i equals 1"; case 2: print "i equals 2"; } Here, if $i is equal to 0, PHP will execute all print statements. If $i is equal to 1, PHP will execute the remaining two print statements, and only when $i is equal to 2, you can get what you expect. As a result, only 'I equals 2' is displayed. So don't forget the BREAK statements after each branch statement (even if you may want to avoid providing them in certain circumstances). A special branch is the default branch. This A branch can match anything that is not matched by any other branch. For example: /* 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"; } Another fact worth mentioning is that the CASE expression can be any expression that computes a scalar type, as well. That is, integers or reals and chars, arrays and objects will not cause PHP to crash, but they do not make any sense. REQUIRE The REQUIRE statement uses the specified file instead of itself, much like the #include statement in C resemblance. This means that you cannot put a require() statement inside a loop and expect it to include the contents of a different file on each iteration. To achieve this, use the INCLUDE statement. require (header.inc); INCLUDE The INCLUDE statement includes and calculates the specified file. It will be performed every time an INCLUDE statement is encountered. Therefore, you can use the INCLUDE statement in a loop body to include some different files. $ files = array (first.inc, second.inc, third.inc); for ($i = 0; $i 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 ; } } ?> As shown above, a class named Cart is defined. This class consists of multiple arrays describing items and functions for adding items and deleting items. Class is a type, that is to say, it is. Design blueprint of actual variables. You can create a variable group and some new operations on them according to the design: $cart = new Cart; $cart->add_item("10", 1); As shown above, create. An object of type class Cart is created. The function add_item() in this object is called to add an item with item number 10. Class can be extended by other Classes. It has all the variables and functions of the basic class and you can also add your own extended definitions. To do this, you need to use the extended definition keyword class Named_Cart extends Cart { var $owner; function set_owner ($name) {. $this->owner = $name; } } The above defines a class named Named_Cart. This class has all the variables and functions contained in the Cart class, and also adds a variable $owner and the function set_owner( ). You can create a named cart and get the name of the cart owner. You can also use ordinary functions belonging to class cart in class Named_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) In the function of this class, the variable $this represents this object. Within the current object, you can use $this->something to access any variables and functions.When you create a new class, there is a constructor function that will be called automatically. If the name of a function is the same as the name of the class, then it becomes a constructor: class Auto_Cart extends Cart { function Auto_Cart () { $this->add_item ("10", 1); } } In the above example, A class named Auto_Cart is defined, which adds a constructor function to the original Cart class. This constructor function initializes the Cart class by adding an item number each time a class is created. for an item of 10. Constructors can also display some information, which can be selected at will, which makes them very useful. 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);