[源碼下載]
php
做者:webabcd
介紹
速戰速決 之 PHPhtml
示例
一、函數的相關知識點 1(基礎)
function/function1.phphtml5
<?php /** * 函數的相關知識點 1(基礎) */ // 能夠在相關的 function 聲明語句以前調用該函數 f1(); function f1() { echo "f1"; echo "<br />"; } // 這裏調用 f2() 就錯誤了 // f2(); $b = true; if ($b) { function f2() // 條件成立纔會聲明此函數 { echo "f2"; echo "<br />"; } } f2(); // 這裏調用 f4() 就錯誤了(由於 f4 的聲明是在 f3 的內部,因此要先調用 f3 才能再調用 f4) // f4(); f3(); f4(); function f3() { echo "f3"; echo "<br />"; function f4() { echo "f4"; echo "<br />"; } }
二、函數的相關知識點 2(函數參數)
function/function2.phpc++
<?php /** * 函數的相關知識點 2(函數參數) */ // 帶參數的函數 f1("webabcd"); function f1($name) { echo "hello " . $name; // output: hello webabcd echo "<br />"; } // 帶參數的函數(參數是引用類型) $name = "webabcd"; f2($name); function f2(&$n) // 參數是引用類型 { echo "hello " . $n; // output: hello webabcd echo "<br />"; $n = "wanglei"; // $n 是引用類型,其與全局變量 $name 指向的內容是同樣的 } echo "hello " . $name; // output: hello wanglei echo "<br />"; // 帶參數的函數(參數能夠指定默認值) f3("hello "); // output: hello webabcd f3("hello ", "wanglei"); // output: hello wanglei function f3($p1, $p2 = "webabcd") // 參數的默認值只能是常量,不能是表達式 { echo $p1 . $p2; echo "<br />"; }
三、函數的相關知識點 3(函數返回值)
function/function3.phpweb
<?php /** * 函數的相關知識點 3(函數返回值) */ // 帶返回值的函數 $result1 = f1("webabcd"); echo $result1; echo "<br />"; function f1($name) { return "hello " . $name; // output: hello webabcd } // 從函數返回以一個引用(函數的聲明和調用都要加 &) $result2 = &f2(); echo $result2; // output: 1 echo "<br />"; $result2 = 100; // $result2 是個引用,指向 $i 所指向的內容,因此此句以後 $i 的值爲 100 $result3 = &f2(); echo $result3; // output: 101 echo "<br />"; function &f2() // 此函數會返回一個引用(函數的聲明和調用都要加 &) { static $i = 0; $i ++; return $i; }
四、函數的相關知識點 4(可變函數,匿名函數,閉包函數)
function/function4.phpwindows
<?php /** * 函數的相關知識點 4(可變函數,匿名函數,閉包函數) */ // variable function(可變函數),將變量的值做爲函數名 function f1() { echo "f1"; // output: f1 echo "<br />"; } function f2() { echo "f2"; // output: f2 echo "<br />"; } $func = 'f1'; $func(); $func = 'f2'; $func(); // 匿名函數 echo preg_replace_callback // output: userName ( '~-([a-z])~', function ($match) // 匿名函數 { return strtoupper($match[1]); }, 'user-name' ); // 閉包函數 // $f3("webabcd"); // 這是錯誤的,對於閉包函數來講,調用時要在聲明語句的後面 $f3 = function($name) { echo "hello " . $name; // output: hello webabcd echo "<br />"; }; // 別忘了閉包函數的「;」 $f3("webabcd");
五、函數的相關知識點 5(回調函數)
function/function5.php閉包
<?php /** * 函數的相關知識點 5(回調函數) */ // 用於演示如何回調(callback)函數 function myCallbackFunction() { return 'myCallbackFunction'; } class MyClass1 { // 用於演示如何回調(callback)實例方法 public function myMethod1() { echo 'MyClass1 myMethod1'; echo '<br />'; } // 用於演示如何回調(callback)類方法 public static function myMethod2() { echo 'MyClass1 myMethod2'; echo '<br />'; } } // 經過 call_user_func 調用指定的函數 echo call_user_func('myCallbackFunction'); echo '<br />'; $obj1 = new MyClass1(); // 經過 call_user_func 調用指定對象的指定方法 call_user_func(array($obj1, 'myMethod1')); // 經過 call_user_func 調用指類的類方法 call_user_func(array('MyClass1', 'myMethod2')); // 經過 call_user_func 調用指類的類方法(PHP 5.2.3 或以上) call_user_func('MyClass1::myMethod2');
OK
[源碼下載]asp.net