對于弱類型語言來說,PHP函數重載,并不像一般的OOP那樣。
因為函數重載必須滿足兩個條件:
1、函數參數的個數不一樣。
2、參數的類型不一樣。
這兩點,PHP都沒有辦法滿足,您可以對函數多添加參數,只是相當于多傳了個臨時變量。而弱類型本來就不區分,所以無法通過這些來實現。
因為函數重載必須滿足兩個條件:
1、函數參數的個數不一樣。
2、參數的類型不一樣。
這兩點,PHP都沒有辦法滿足,您可以對函數多添加參數,只是相當于多傳了個臨時變量。而弱類型本來就不區分,所以無法通過這些來實現。
2018-03-16
PHP中的"重載"與其它絕大多數面向對象語言不同。傳統的"重載"是用于提供多個同名的類方法,但各方法的參數類型和個數不同。
2018-03-16
個人觀點:這一節課講的不好。
若不是有其他語言基礎的人,學習了這一節課之后,是不可能理解關于繼承這一塊的知識的。看了目錄,《PHP進階篇》對于繼承,也只有這一節提到罷了。對于面向對象三大特性之一繼承,就說這么一丁點內容。所以這個課程是有缺陷的。
學習,則其善之而從之,其不善著而改之。好的就學習,不好的就忽略。
若不是有其他語言基礎的人,學習了這一節課之后,是不可能理解關于繼承這一塊的知識的。看了目錄,《PHP進階篇》對于繼承,也只有這一節提到罷了。對于面向對象三大特性之一繼承,就說這么一丁點內容。所以這個課程是有缺陷的。
學習,則其善之而從之,其不善著而改之。好的就學習,不好的就忽略。
2018-03-16
mysql_connect('127.0.0.1', 'code1', '');
mysql_select_db('code1');
mysql_query("set names 'utf8'");
//已知的數據變量有
$name = '李四';
$age = 18;
$class = '高三一班';
//在這里進行數據查詢
$sql = "INSERT INTO user (name,age,class) VALUES ('$name','$age','$class')";
mysql_query($sql);
$uid = mysql_insert_id();
echo $uid;
mysql_select_db('code1');
mysql_query("set names 'utf8'");
//已知的數據變量有
$name = '李四';
$age = 18;
$class = '高三一班';
//在這里進行數據查詢
$sql = "INSERT INTO user (name,age,class) VALUES ('$name','$age','$class')";
mysql_query($sql);
$uid = mysql_insert_id();
echo $uid;
2018-03-11
$arr['apple'] = "蘋果";
if( isset($arr) ) {print_r($arr);}
if( isset($arr) ) {print_r($arr);}
2018-03-09
$arr1[0]='蘋果';
$arr2 = array('蘋果');
$arr3 = array('0' => "蘋果");
$arr;
if( isset($arr3) ) {print_r($arr3);}
$arr2 = array('蘋果');
$arr3 = array('0' => "蘋果");
$arr;
if( isset($arr3) ) {print_r($arr3);}
2018-03-09
__construct(),類的構造函數
__destruct(),類的析構函數
__call(),在對象中調用一個不可訪問方法時調用
__callStatic(),用靜態方式中調用一個不可訪問方法時調用
__get(),獲得一個類的成員變量時調用
__set(),設置一個類的成員變量時調用
__isset(),當對不可訪問屬性調用isset()或empty()時調用
__unset(),當對不可訪問屬性調用unset()時被調用。
__sleep(),執行serialize()時,先會調用這個函數
__destruct(),類的析構函數
__call(),在對象中調用一個不可訪問方法時調用
__callStatic(),用靜態方式中調用一個不可訪問方法時調用
__get(),獲得一個類的成員變量時調用
__set(),設置一個類的成員變量時調用
__isset(),當對不可訪問屬性調用isset()或empty()時調用
__unset(),當對不可訪問屬性調用unset()時被調用。
__sleep(),執行serialize()時,先會調用這個函數
2018-03-08