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璇瑷鎴栧叾浠栫紪绋嬭瑷銆傛棤璁洪夋嫨鍝绉嶈瑷锛岄兘闇瑕佹姇鍏ヨ冻澶熺殑镞堕棿鍜岀簿锷涘幓瀛︿範鍜屽疄璺点