c和php
PHP是弱類型解釋型語言,對類型不敏感,入門簡單,基礎知識很快就能學習好。
C 是典型的強類型語言,變數類型,無法被隨意更改,所以難度較php稍大些。
PHP(外文名:PHP: Hypertext Preprocessor,中文名:「超文本預處理器」)是一種通用開源腳本語言。語法吸收了C語言、java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標准通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
㈡ php和c,c++的區別是什麼
的區別:
一個有protected成員變數(假設為i)的類型Base,他的子類Derived直接繼承自Base,同時Derived有一個成員函數func,他的參數是Base類型的,這個函數可以訪問Base對象的protecte的成員嗎?在C++中不可以,而在PHP中可以。
關於重載:
PHP中不支持C++中的重載,重新定義個函數(不管是參數相同還是不同,都會導致重復定義錯誤)。PHP有自己的重載方法,而且比C++中的更廣泛,他不僅可以重載函數(通過使運散用__call()方法),還可以重載成員變數(通過使用__get()和__set())。而C++中只能對函數進行重載,而且重載的方法只有:不同的參數類型,不同的函數修飾符(const)。
關於abstract和interface
PHP中配悄余有這兩個修飾符,因為PHP不支持對一個普通類的多繼承,因此interface用於實現多繼承。Abstract類在C++中也存在,只是實現方培滾式不一樣,C++中使用pure virtual函數來表明這個類是抽象類,不能單獨被實例化。而PHP中不僅可以使用函數的修飾符abstract(另外class前也必須標明abstract)來標明這個意思,也可以只使用abstract修飾符修飾class更直接的表明他是抽象類。另外, C++中的pure virtual函數不受訪問類型的限制,不管是什麼訪問類型,都會被看作是public;而php中的abstract函數不能被聲明成private,僅此而已。
多態
因為PHP是弱類型語言,所以他的多態性到處都有體現,導致他的多態性不像C++中那麼明顯。比如,在PHP中基類的函數可以看作全是virtual的,因此它不需要加任何修飾符,子類中和基類同名的函數都會被動態調用,而C++不一樣,如果基類中的這個函數沒有加virtual修飾符,子類中的那個同名函數就不會被動態調用,只能靜態調用了。
操作符重載
PHP中不存在,而C++存在。重點在==操作符,在PHP中他可以運用在任何類型上,即使這個類型沒有(像C++中一樣)寫自己的==重載函數。PHP中對於對象的比較,==表示兩個對象的屬性和值都一樣,而且類型也一樣;PHP也存在一個===操作符,表示他們引用了同一個對象,這跟java中很像吧。
final關鍵字
PHP中存在這個關鍵字,表示這個函數不能被重寫(如果他用來修飾函數),或者類不能被繼承(如果用類修飾class)。而C++中沒有這個關鍵字,也無法模擬出那個效果。
對象賦值和拷貝
C++中的拷貝或者賦值大致有這三種方式。
一種是指針的賦值,即p1 = &obj,相當於PHP和java中的賦值操作;
另一種是memberwise assignment,也就是在obj1 = obj2時發生的事情,默認情況下執行淺度拷貝,和PHP中clone的效果一樣。他可以通過重載賦值拷貝操作來執行你的深度拷貝或者其他自定義的拷貝,這就相當於PHP中的__clone()成員函數;
第三種是memberwise initialization,也就是在參數傳遞時,傳遞返回值時或者包含對象的容器初始化的時候自動運行的,你可以通過自己定義拷貝構造函數來控制它的效果。
拷貝構造函數在PHP中幾乎用不到,因為他的傳遞是完全按引用傳遞,而不是對象的直接拷貝。
㈢ php鍜孋璇璦鍝涓濂藉
PHP鐩歌緝浜嶤璇璦鏇村規槗涓婃墜瀛︿範銆
PHP鐨勫叆闂ㄩ棬妲涜緝浣庛 PHP鏄涓縐嶆祦琛岀殑鏈嶅姟鍣ㄧ緙栫▼璇璦錛屽箍娉涚敤浜嶹eb寮鍙戦嗗煙銆傚畠鐩稿瑰規槗鐞嗚В騫朵笂鎵嬶紝灝ゅ叾鏄鍦ㄥ勭悊Web寮鍙戠浉鍏充換鍔℃椂銆侾HP鍏鋒湁綆鍗曠殑璇娉曠粨鏋勶紝綾諱技浜庤稿氬叾浠栫紪紼嬭璦錛屽洜姝ゅ紑鍙戣呮洿瀹規槗鎺ュ彈鍜屾帉鎻°傛ゅ栵紝PHP鎻愪緵浜嗕赴瀵岀殑搴撳拰妗嗘灦錛屽侺aravel鍜學ordPress絳夛紝榪欎簺宸ュ叿澶уぇ綆鍖栦簡寮鍙戣繃紼嬨傚逛簬鍒濆﹁呮潵璇達紝榪欎簺璧勬簮鍜屽伐鍏峰彲浠ユ瀬澶у湴甯鍔╀粬浠蹇閫熷叆闂ㄥ苟鏋勫緩瀹為檯欏圭洰銆
C璇璦鐨勫︿範鏇茬嚎杈冮櫋宄銆 C璇璦鏄涓縐嶅簳灞傜紪紼嬭璦錛屽箍娉涘簲鐢ㄤ簬緋葷粺寮鍙戝拰宓屽叆寮忕郴緇熺瓑棰嗗煙銆傜敱浜庡叾寮哄ぇ鐨勫姛鑳藉拰騫挎硾鐨勫簲鐢ㄩ嗗煙錛孋璇璦琚瑙嗕負涓縐嶉潪甯稿己澶х殑緙栫▼璇璦銆傜劧鑰岋紝鐢變簬鍏跺簳灞傜壒鎬у拰澶嶆潅鐨勮娉曠粨鏋勶紝C璇璦鐨勫︿範鏇茬嚎鐩稿硅緝闄″抄銆傚垵瀛﹁呴渶瑕佹帉鎻″嶆潅鐨勬寚閽堛佸唴瀛樼$悊鍜屽簳灞傛傚康絳夛紝榪欎簺閮介渶瑕佽姳璐瑰ぇ閲忔椂闂村拰綺懼姏鍘葷悊瑙e苟鎺屾彙銆傚洜姝わ紝瀵逛簬鍒濆﹁呮潵璇達紝C璇璦鐨勫︿範闅懼害鐩稿硅緝澶с
鎬葷粨銆侾HP鍜孋璇璦閮芥湁鍏剁嫭鐗圭殑浼樼偣鍜屽簲鐢ㄩ嗗煙銆侾HP鏇撮傚悎Web寮鍙戦嗗煙錛屾槗浜庝笂鎵嬪苟鎻愪緵浜嗕赴瀵岀殑璧勬簮鍜屽伐鍏鋒敮鎸侊紱鑰孋璇璦鍒欓傜敤浜庡簳灞傚紑鍙戝拰緋葷粺綰х紪紼嬬瓑棰嗗煙錛屼絾瀛︿範闅懼害鐩稿硅緝澶с傚洜姝わ紝瀵逛簬鍒濆﹁呮潵璇達紝閫夋嫨瀛︿範PHP鍙鑳芥洿瀹規槗鍏ラ棬騫跺揩閫熸帉鎻$浉鍏崇煡璇嗐傚綋鐒訛紝闅忕潃瀛︿範鐨勬繁鍏ュ拰闇奼傜殑澧為暱錛屼篃鍙浠ヨ冭檻榪涗竴姝ュ︿範C璇璦鎴栧叾浠栫紪紼嬭璦銆傛棤璁洪夋嫨鍝縐嶈璦錛岄兘闇瑕佹姇鍏ヨ凍澶熺殑鏃墮棿鍜岀簿鍔涘幓瀛︿範鍜屽疄璺點