一篇PHP中動態特性學習筆記,如果你對於PHP 特性不了解的我們可以進入參考本文章,本文章對於PHP動態特性詳細的作了介紹了,好了費話不說了我們來看例子吧,有需要的朋友可參考一下。
本文主要總結給對PHP 特性不了解的新手看的,因此演示代碼占比較多的篇幅。
大家看還缺哪些給補充吧。歡迎來郵件或在PHPChina 的《PHPer》雜志版塊糾正錯誤。
動態語言就是能夠在運行時改變程序結構和變量類型的語言。例如:新的類和對
象可以被加載和創建,新的函數或方法可以加入和去除等等,比如Smalltalk、Ruby、
Python、PHP、Lua、Perl、Groovy 等。反之則是靜態語言,比如C/C++、Java、C#等。
動態語言的動態特性決定它開發的時候需要更少的代碼,有更高的靈活性。PHP
的動態特性奠定了它存在的價值,熟悉PHP 的動態特性讓我們更能活用PHP。
1 弱類型變量
動態語言都被設計成弱類型,也就是說變量被賦值以後才能確定它的數據類型,
當代碼在實際執行時,才會檢測變量是否被非法使用。
PHP 變量是弱類型變量就意味著,我們不需要聲明變量的類型,在運行時自動檢
測變量的類型,並且可以認為改動變量的類型。
2、PHP動態特性:
特性1、弱類型變量
PHP變量是弱類型變量就意味著,我們不需要聲明變量的類型,在運行時自動檢測變量的類型,並且可以認為改動變量的類型。
代碼如下
復制代碼
// PHP弱類型變量例子
$test = 1;
print gettype($test) . ": $testn";
$test = 1.23456789;
print gettype($test) . ": $testn";
$test = 'test'; // 變量自動改變類型
print gettype($test) . ": $testn";
$test = array('t'=>'HI,I m from an array!');
settype($test, 'object'); // 改變變量的類型
print gettype($test) . ": {$test->t}n";
// 測試變量類型
if(is_object($test)) {
print "Test Type: My Type Is object.n";
} else {
print gettype($test);
}
弱類型並不意味著代碼不安全,或者不健壯。極限編程已經給成為一種軟件開發方法。這個方法側重測試,使用全面的單元測試方案來驅動開發過程。通過不同環境
下執行所編寫的代碼,就可以保證代碼的安全性和健壯性。經驗證明,在弱類型語言中,綜合運用弱類型和單元測試通常比傳統系統編程語言的類型檢查更好(請參
特性2、可變變量
一個變量的變量名可以動態的設置和使用
代碼如下
復制代碼
// 可變變量例子
$var = 'hi';
$$var = 'hello';
print $var;
print $$var;
print $hi; // 等價於上一行
特性3、變量函數
這意味著如果一個變量名後有圓括號,PHP 將尋找與變量的值同名的函數,並且將嘗試執行它。除了別的事情以外,這個可以被用於實現回調函數,函數表等等。
代碼如下
復制代碼
// 變量函數例子
// 無參數函數
function a(){
print "i'm an";
}
// 有參數函數
function b($param) {
print "i'm b, param: $paramn";
}
$x = 'a';
$x();
$x = 'b';
$x('xxxxxxxxxxx');
特性4、可變長度參數列表
調用函數的時候,函數的參數個數可以不一樣
代碼如下
復制代碼
function foo() {
$numargs = func_num_args();
print "Number of arguments: $numargsn";
print "the third argument: " . func_get_arg(2) . "n";
}
foo(1, 2, '...@...');
foo(1, 2, '############', 4);
首頁 1 2 3
末頁