php與C語(yǔ)言有什么區(qū)別-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的浦東網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

php與C語(yǔ)言有什么區(qū)別?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

如果你學(xué)過(guò)C語(yǔ)言,現(xiàn)在想學(xué)習(xí)PHP,第一步當(dāng)然是掌握基本語(yǔ)法。PHP的基本語(yǔ)法與C極其相似,但也有一些獨(dú)特之處,本文通過(guò)對(duì)比的方式,按照學(xué)習(xí)C語(yǔ)言語(yǔ)法的順序,介紹PHP的基本語(yǔ)法,希望能幫助熟悉C的人快速入門(mén)。

首先明確一個(gè)思想,PHP語(yǔ)法與C大的不同之處在于PHP重實(shí)用,而C重原理。學(xué)習(xí)C的語(yǔ)法,培養(yǎng)人嚴(yán)謹(jǐn)?shù)乃季S習(xí)慣,對(duì)于了解計(jì)算機(jī)的工作原理是很有幫助的。一個(gè)學(xué)過(guò)C的人開(kāi)始學(xué)PHP,會(huì)對(duì)PHP過(guò)于寬松的語(yǔ)法感到不適應(yīng)。

PHP的創(chuàng)始人是為了更新自己的主頁(yè)而設(shè)計(jì)PHP的,不是像C的創(chuàng)始人那樣為了開(kāi)發(fā)操作系統(tǒng),這是兩者語(yǔ)法風(fēng)格不同的根本原因。

明確了這個(gè)思想,我們就按照數(shù)據(jù)類(lèi)型、常量、變量、運(yùn)算符與表達(dá)式、流程控制、函數(shù)、數(shù)組這樣的順序來(lái)一一介紹PHP的基本語(yǔ)法并與C相對(duì)照。

由于是入門(mén),所以我們只沿著主干道前進(jìn),路邊有很多美麗的風(fēng)景,像正則表達(dá)式之類(lèi),我們以后再專(zhuān)題探索。

PHP的數(shù)據(jù)類(lèi)型

PHP與C的一個(gè)顯著不同是:不管常量還是變量都不需要先定義后使用(類(lèi)中的變量除外),PHP根據(jù)第一次賦值的情況自動(dòng)決定數(shù)據(jù)類(lèi)型。

想想當(dāng)年學(xué)習(xí)C語(yǔ)言的時(shí)候,我們?cè)械较榷x后使用很麻煩(但是“長(zhǎng)大后”(我是指學(xué)會(huì)C后)都體會(huì)到了它的好處),常常忘記定義,而現(xiàn)在少了這條規(guī)矩,反而有點(diǎn)不適應(yīng)了。

PHP的基本變量類(lèi)型有整型(Integer)、浮點(diǎn)型(Float)、字符串(String)(這是C沒(méi)有的,但C++有String類(lèi))以及布爾型(Boolean)(C沒(méi)有,但是C++有)。構(gòu)造類(lèi)型有數(shù)組和對(duì)象。此外還有兩個(gè)特殊類(lèi)型:空值(NULL)(C也有)和資源(Resource)。

常量

在PHP中定義常量的方式在學(xué)習(xí)C的人看來(lái)有點(diǎn)不可思議,竟然是用一個(gè)define函數(shù)實(shí)現(xiàn)的,PHP的函數(shù)實(shí)在是太厲害了,后面我們會(huì)看到定義數(shù)組也是由函數(shù)完成的,我們真得感謝PHP無(wú)比豐富的函數(shù)庫(kù),它們成就了PHP的易用和強(qiáng)大。

define函數(shù)原型:bool define(string name,value,[,bool case_insensitive])

第三個(gè)參數(shù)如果是TRUE,則表示常量名是大小寫(xiě)不敏感的,反之就是敏感的,默認(rèn)是敏感的。我們還是遵照習(xí)慣,保持常量名稱(chēng)大小寫(xiě)敏感吧。

例:

復(fù)制PHP內(nèi)容到剪貼板

PHP代碼:

 <?php
  define(“C1”,”Hello
 PHP World!”);
  echo C1;
?>

以上代碼的運(yùn)行結(jié)果是輸出常量C1的值(Hello PHP World?。?。

這里順便介紹一下,<?php和?>是PHP代碼的定界符,將PHP代碼同HTML代碼區(qū)分出來(lái),PHP代碼的語(yǔ)句以分號(hào)結(jié)束,這是我們習(xí)慣的,另外PHP的注釋符號(hào)也與C一樣,你該知道的,我就不說(shuō)了……

這個(gè)echo就相當(dāng)于C的printf或C++的cout,但是嚴(yán)格地說(shuō)不是格式化的輸出,要想格式化也很容易,你把HTML代碼寫(xiě)進(jìn)去就行了,比如你要輸出結(jié)束后換行,那你就寫(xiě)成define(“C1”,”Hello PHP World!<br>”);好了。

注意,PHP也支持‘\n’作為換行符,但是它的含義僅僅相當(dāng)于在HTML里敲個(gè)回車(chē),瀏覽器里看還是在一行上的。

變量

除了不用定義,C語(yǔ)言用戶(hù)最不習(xí)慣的就是所有的變量名前都要帶個(gè)$,你可能會(huì)抱怨PHP的設(shè)計(jì)者太財(cái)迷了,但抱怨完了你還得這么寫(xiě),寫(xiě)PHP程序,Shift鍵的使用率陡增!

我突然發(fā)現(xiàn)一個(gè)這樣做的好處是:常量不帶$,因此常量與變量的區(qū)分變得很明顯,更重要的是,你再也不用擔(dān)心自定義變量名同PHP關(guān)鍵字沖突了,你可以定義一個(gè)變量叫$if,$for等(當(dāng)然,正式情況下還是不要這樣做的好,過(guò)過(guò)癮就行了)。

與C相同的是,PHP的變量名是大小寫(xiě)敏感的,并且命名方式遵循C標(biāo)識(shí)符的命名原則,還記得嗎?

如果你懂點(diǎn)C++,知道引用的概念,下面這段就可以跳過(guò),只要記住PHP也支持引用。否則花點(diǎn)時(shí)間看下面這段或是去看看C++引用的概念也行。

復(fù)制PHP內(nèi)容到剪貼板

PHP代碼:

<?php
$var1=100;
$var2=&$var1;
$var2=200;
echo $var1.”<br>”;
echo $var2;
?>

這段代碼的運(yùn)行結(jié)果是輸出兩個(gè)200,分別是$var1和$var2的值,輸出的時(shí)候?yàn)榱饲宄恿藗€(gè)換行符,PHP里句點(diǎn)(.)是字符串的連接符。

為什么只給$var2賦了200,而$var1也變成了200呢,你還可以試試只改變$var1的值,你會(huì)發(fā)現(xiàn)這兩個(gè)變量似乎被綁在一起了。

其實(shí)語(yǔ)句$var2=&$var1;中的&符號(hào)的含義是將變量名$var2也指向$var1所在的存儲(chǔ)空間,也就是說(shuō)$var2并不是一個(gè)新變量,而是$var1的另一個(gè)名字,它們對(duì)應(yīng)的是同一段內(nèi)存空間,不管使用誰(shuí)都是訪問(wèn)的同一個(gè)變量,$var2就叫做對(duì)$var1的引用。

引用有什么好處?以后再說(shuō)。C語(yǔ)言的基本概念(變量名、變量地址、變量值)清楚的話,理解起來(lái)應(yīng)該沒(méi)有什么困難,如果基本概念不清楚,還是先“溫故”再“知新”吧。

順便說(shuō)一個(gè)有意思的事,如果你在把上面的echo語(yǔ)句寫(xiě)成:

echo“The value of $var1 is”.$var1.”<br>”;

那么你得到的輸出將是:

The value of 200 is 200

還記得嗎,在初學(xué)C語(yǔ)言時(shí)你很可能犯過(guò)把變量名放在字符串里想輸出它的值,結(jié)果得到的是變量名,而現(xiàn)在,你的“理想”實(shí)現(xiàn)了,而你卻又不習(xí)慣了,呵呵。

原來(lái)PHP在使用雙引號(hào)作為字符串的定界符時(shí),會(huì)自動(dòng)把變量名替換成相應(yīng)的值,這樣的做法使得我們輸出含變量的字符串時(shí)變得非常方便,一對(duì)雙引號(hào)下來(lái)就可以了。如果你想保持變量名原樣輸出,那么可以用單引號(hào)做字符串的定界符(當(dāng)然還有其它辦法,你可以仔細(xì)研究一下PHP的字符串)。

還是要感謝C的嚴(yán)格要求,如果C像PHP這樣的話,我們恐怕到現(xiàn)在也搞不清變量名、變量值這些概念。

變量的作用域

PHP的變量作用域與C很類(lèi)似,在此不準(zhǔn)備多說(shuō)。局部變量在所存在的函數(shù)內(nèi)部有效,全局變量作用域是文件作用域(限于單個(gè)PHP文件),若局部變量同全局變量重名,同C的處理方式,全局的被屏蔽。

稍微麻煩一點(diǎn)的是,要想在函數(shù)內(nèi)訪問(wèn)全局變量,需使用global關(guān)鍵字聲明,否則的話PHP就認(rèn)為是一個(gè)與全局變量同名的局部變量。

復(fù)制PHP內(nèi)容到剪貼板

PHP代碼:

<?php
$a=1;
function func()
{
   echo "The value of a is:".$a;
}
func();
?>

以上代碼沒(méi)有輸出1,為什么呢?PHP把函數(shù)里的$a看作是一個(gè)全新的局部變量,此$a非彼$a(函數(shù)體外的全局變量),此$a未賦值,因此輸出為空。

如果我們要想在函數(shù)體內(nèi)部訪問(wèn)全局變量$a的值,須在訪問(wèn)之前聲明一句:global $a; 這樣PHP就知道要訪問(wèn)的是全局變量$a了。

還有一種方法是利用PHP的系統(tǒng)數(shù)組$GLOBALS,該數(shù)組是PHP系統(tǒng)自動(dòng)生成和維護(hù)的,它記錄了所有全局變量。echo $GLOBALS[“a”];即可輸出其中$a的值。

PHP的靜態(tài)變量?jī)H在局部函數(shù)域中存在,同C是完全相同的。

PHP有一種特殊的動(dòng)態(tài)變量,名字聽(tīng)起來(lái)很容易讓人認(rèn)為就是C語(yǔ)言的普通變量(動(dòng)態(tài)的、局部的),但這個(gè)動(dòng)態(tài)的含義有點(diǎn)特殊,它是指變量名可以動(dòng)態(tài)賦予!也就是說(shuō),可以讓?xiě)?yīng)用程序的最終用戶(hù)為變量指定名字!

復(fù)制PHP內(nèi)容到剪貼板

PHP代碼:

<?php
$a="newname";
$$a="content";   //newname本是$a的值,但是$$a的含義是以$a的值為名的變量
echo $newname; //$$a等價(jià)于$newname
echo $a;
?>

運(yùn)算符和表達(dá)式

PHP在運(yùn)算符和表達(dá)式方面和C極其類(lèi)似,有算術(shù)、邏輯、關(guān)系、位運(yùn)算符及相應(yīng)的表達(dá)式,也有條件運(yùn)算符(:?)及其表達(dá)式,同樣還是我們開(kāi)始提到的那個(gè)思想,實(shí)用為上,很多限制被取消了,相對(duì)較寬松。舉個(gè)例子:

復(fù)制PHP內(nèi)容到剪貼板

PHP代碼:

<?php
$a="1";
$b=1;
if ($a==$b) echo "Equal!";
else echo "Not Euqal!";
?>

按照C的思維方式來(lái)看,$a是字符,$b是整型,兩者比較是字符的ASCII碼值與整數(shù)比較,顯然不等,而PHP運(yùn)行結(jié)果卻是“Equal!”,看到這里,是不是有點(diǎn)沖破封建大家庭的禮教與心上人私奔的感覺(jué)?呵呵,抑或是驚呼PHP無(wú)法無(wú)天?

接下來(lái)還有讓你目瞪口呆的,若$a="1e3"; $b=1000; 依然是“Equal!”,也就是說(shuō)PHP在比較時(shí)能自動(dòng)將字符串“按照人的理解方式”進(jìn)行轉(zhuǎn)換,1e3不就是科學(xué)計(jì)數(shù)法表示的1000嗎?甚至$a=”1e3HelloWorld”;都會(huì)相等

PHP將字符串轉(zhuǎn)換為數(shù)值時(shí)會(huì)自動(dòng)截取全部它能理解為數(shù)值的部分!

其實(shí)C也允許跨越數(shù)據(jù)類(lèi)型的比較,比如字符型和整型比較,C也會(huì)自動(dòng)轉(zhuǎn)換類(lèi)型,但它是“按照計(jì)算機(jī)的思維方式”轉(zhuǎn)換的,因?yàn)樽址谟?jì)算機(jī)里就是按照ASCII碼存儲(chǔ)的。

PHP的“人性化”也帶來(lái)了麻煩,當(dāng)我們想嚴(yán)格比較兩個(gè)變量的時(shí)候怎么辦呢?

于是PHP提供了一對(duì)特殊的運(yùn)算符:全等(===)和非全等(!==),只有當(dāng)值相當(dāng)且數(shù)據(jù)類(lèi)型相同時(shí),才叫全等,兩者有一不符,則非全等。

此時(shí),即使1與1.0也是非全等的,原因你一定知道吧。如果你覺(jué)得只有這樣才踏實(shí),那么恭喜你,你已經(jīng)被C洗腦了。

運(yùn)算符有優(yōu)先級(jí)和結(jié)合性的概念,這方面和C是類(lèi)似的,你也許記不清所有的優(yōu)先級(jí)關(guān)系,但是沒(méi)關(guān)系,我們有括號(hào)呢。

流程控制

PHP的流程控制語(yǔ)句是與C最像的部分了,簡(jiǎn)直可以照搬。

有兩點(diǎn)值得注意,一是switch case語(yǔ)句中case后面可以寫(xiě)任意表達(dá)式,而不是C規(guī)定的只能是常量表達(dá)式,C的這種規(guī)定太不近人情了,以至于很多人學(xué)完了C還不知道case score〉90:這樣的寫(xiě)法錯(cuò)在哪里?,F(xiàn)在好了,PHP里面,你可以這樣寫(xiě)了。

再就是很奇怪的一點(diǎn),if elseif else結(jié)構(gòu)中間的else和if可以連在一起寫(xiě)。

此外,PHP還有一個(gè)獨(dú)特的循環(huán)結(jié)構(gòu)foreach,是專(zhuān)門(mén)為數(shù)組遍歷準(zhǔn)備的,稍后介紹。

函數(shù)

PHP用戶(hù)自定義函數(shù)的語(yǔ)法與C也很類(lèi)似,可想而知,由于PHP弱化數(shù)據(jù)類(lèi)型的概念,所以函數(shù)的返回值類(lèi)型也就弱化了,函數(shù)定義的一般形式是:

function函數(shù)名($參數(shù)1,$參數(shù)2,……,$參數(shù)n)
{
  函數(shù)體
  return語(yǔ)句返回值
}

比C的“寬松”之處在于函數(shù)可以嵌套定義,但是為了一個(gè)明晰的代碼結(jié)構(gòu),還是嚴(yán)格要求自己的好。

這里我們?cè)僬f(shuō)說(shuō)引用。前面提到引用其實(shí)就是給變量取個(gè)小名(專(zhuān)業(yè)的話叫別名),即兩個(gè)或多個(gè)變量名對(duì)應(yīng)同一變量存儲(chǔ)空間。

這一概念用在函數(shù)參數(shù)上特別有用,我們知道實(shí)參與形參的結(jié)合是單向值傳遞,即實(shí)參將它的值復(fù)制給形參,而形參變量在函數(shù)體中可能被改變

但由于形參變量會(huì)在函數(shù)返回時(shí)被撤銷(xiāo),所以形參不能將改變了的值傳回給實(shí)參,這是學(xué)C的人都應(yīng)該十分清楚的,大家都做過(guò)那個(gè)交換兩個(gè)數(shù)的實(shí)驗(yàn)。

這一機(jī)制保證了函數(shù)只能有一個(gè)返回值,當(dāng)需要返回多個(gè)值的時(shí)候,我們可以使用引用做形參,這相當(dāng)于把實(shí)參的地址傳遞給函數(shù),函數(shù)對(duì)這個(gè)地址上的數(shù)據(jù)進(jìn)行操作,當(dāng)然就可以把改變保留下來(lái)。

引用的概念是C++里增加的,PHP的函數(shù)也支持引用做形參。只要把C++里引用做參數(shù)的概念理解清楚了,在PHP里是完全一樣的。

PHP有巨大的函數(shù)庫(kù),比如關(guān)于時(shí)間的函數(shù)就有一大堆,寫(xiě)PHP程序時(shí),當(dāng)你有個(gè)功能想要實(shí)現(xiàn),第一件事應(yīng)該是查PHP函數(shù)手冊(cè),看看有沒(méi)有能滿(mǎn)足你的要求的函數(shù),或者是通過(guò)多個(gè)函數(shù)組合實(shí)現(xiàn)也行,而不是自己動(dòng)手去寫(xiě)(練習(xí)編程技能或改進(jìn)PHP者除外),記住一句老話:不要重復(fù)發(fā)明輪子。

要想掌握PHP,熟練使用常用函數(shù)是必須的,但這不是我們這篇文章的目標(biāo),有機(jī)會(huì)專(zhuān)題探索吧。

數(shù)組

這回甭指望我說(shuō)PHP的數(shù)組和C差不多了,因?yàn)镻HP的數(shù)組,簡(jiǎn)直就不是C的數(shù)組!PHP的數(shù)組應(yīng)該叫做“集合”,不是緊急集合的集合,是數(shù)學(xué)意義上的集合,如果你學(xué)過(guò)數(shù)據(jù)結(jié)構(gòu)就更明白了。

說(shuō)白了,PHP的數(shù)組就是把一堆數(shù)據(jù)(什么類(lèi)型都行)放在一起。這在C里是很瘋狂的想法,但是在現(xiàn)實(shí)中是很實(shí)用的,比如一條數(shù)據(jù)庫(kù)記錄可能由整型、字符串型、浮點(diǎn)型等不同類(lèi)型的若干字段組成,

如果能一次讀取出來(lái)放在一個(gè)“數(shù)組”中用下標(biāo)訪問(wèn),是不是很方便呢?這種“數(shù)組”,是不是很像C的結(jié)構(gòu)體呢?其實(shí)它比結(jié)構(gòu)體還靈活,它可以自動(dòng)增減數(shù)據(jù)元素。

PHP數(shù)組的定義是通過(guò)array函數(shù)實(shí)現(xiàn)的,一般形式為:

$數(shù)組名=array(鍵名=>數(shù)據(jù),鍵名=>數(shù)據(jù),……, 鍵名=>數(shù)據(jù));

這里的鍵名在C中叫下標(biāo),C規(guī)定下標(biāo)必須是整數(shù)且必須從0開(kāi)始依次遞增。

在PHP里,鍵名非常人性化,對(duì)應(yīng)的數(shù)據(jù)如果存儲(chǔ)的是姓名,鍵名就可以叫name,是成績(jī),就可以叫score,當(dāng)然你如果想用整數(shù)也可以,隨你的便。如果你懶得在定義數(shù)組時(shí)指定鍵名,可以這樣寫(xiě):

$數(shù)組名=array(數(shù)據(jù)1,數(shù)據(jù)2,……, 數(shù)據(jù)n);

這時(shí)候PHP會(huì)按照C語(yǔ)言的方式按數(shù)據(jù)的先后順序從0開(kāi)始自動(dòng)賦予整型鍵名。

PHP提供了一個(gè)特別方便的顯示數(shù)組全部元素的函數(shù)print_r

復(fù)制PHP內(nèi)容到剪貼板

PHP代碼:
 
<?php
$arr1=array(100,200,300,400);
$arr2=array("num"=>100,"name"=>"Liuxy","score"=>98);
print_r($arr1);
echo "<br>";
print_r($arr2);
?>

以上代碼的輸出結(jié)果如下:

Array ( [0] => 100 [1] => 200 [2] => 300 [3] => 400 )
Array ( [num] => 100 [name] => Liuxy [score] => 98 )

若要定義二維數(shù)組,可以嵌套地使用array函數(shù),同C類(lèi)似,也是把二維數(shù)組的每一行看作是一個(gè)一維數(shù)組,構(gòu)成每一行的一維數(shù)組可以互不相同。如:

復(fù)制PHP內(nèi)容到剪貼板

PHP代碼:

$arr=array(
           "row1"=>array(100,200,300,400),
           "row2"=>array("num"=>100,"name"=>"Liuxy","score"=>98)
         );

PHP數(shù)組元素的訪問(wèn)同C類(lèi)似,都是數(shù)組名[鍵名]的形式。

PHP數(shù)組的遍歷可以通過(guò)foreach語(yǔ)句實(shí)現(xiàn),foreach語(yǔ)句格式如下:

foreach (數(shù)組名as  變量名)數(shù)據(jù)元素處理語(yǔ)句;

翻譯成C語(yǔ)言就是:

for(i=0;i<n; i++){變量名=a;其他包含“變量名”的處理語(yǔ)句}
foreach等價(jià)于前面的for (i=0;i<n; i++)

as等價(jià)于“變量名”與a之間的等號(hào),這下你明白了吧。

例如:

復(fù)制PHP內(nèi)容到剪貼板

PHP代碼:

<?php
$arr=array(1,2,3,4,5,6);
foreach ($arr as $value ) echo”$value<br>”;
?>

輸出結(jié)果是什么?想想看。

如果還想把對(duì)應(yīng)的鍵名也同時(shí)輸出出來(lái),可以用這樣的形式:

foreach ($arr as $key=>$value) echo“鍵名為$key的元素值為$value”;

在C中遍歷二維數(shù)組我們一般用二重for循環(huán),相應(yīng)地,PHP中的foreach也可以嵌套使用,分析一下下面的程序你就明白了:

復(fù)制PHP內(nèi)容到剪貼板

PHP代碼:

<?php
$arr=array(
             "row1"=>array(100,200,300,400),
             "row2"=>array("num"=>100,"name"=>"Liuxy","score"=>98)
           );
 
foreach ($arr as $key=>$value)
{
    echo "$key=>$value";
    echo "<br>";
    foreach ($value as $k=>$var) echo "$k=>$var<br>";
}
?>

PHP的數(shù)組元素是可以動(dòng)態(tài)增長(zhǎng)的,這是C里面不敢想的。

為數(shù)組增加一個(gè)元素很簡(jiǎn)單,同訪問(wèn)數(shù)組元素一樣,只不過(guò)鍵名是新的或者為空,如$arr[new]=3; 或$arr[]=3,這樣做的結(jié)果是PHP為數(shù)組$arr增加一個(gè)鍵名為new的元素其值為3,若鍵名為空,則以當(dāng)前整型鍵名的大值加1作為默認(rèn)的鍵名分配給新的元素。

PHP的這種動(dòng)態(tài)增長(zhǎng)數(shù)組有時(shí)候很方便,但也帶來(lái)隱患,比如當(dāng)我們企圖修改已存在的元素值而寫(xiě)錯(cuò)了鍵名時(shí),就變成了新增一個(gè)元素,而這樣的邏輯錯(cuò)誤,系統(tǒng)是不會(huì)報(bào)錯(cuò)的。

可以增長(zhǎng)就可以縮減,要想刪除一個(gè)數(shù)組元素,可以使用unset函數(shù),如刪除上面新增的那個(gè)元素,可以寫(xiě)成unset($arr[new])。也可以使用unset函數(shù)刪除整個(gè)數(shù)組結(jié)構(gòu),如unset($arr),要注意這同逐個(gè)刪除全部數(shù)組元素不同,后者還保留有數(shù)組的結(jié)構(gòu)。

形象地說(shuō),后者是人去樓空,但樓還在,前者連樓也拆除了。有意思的是刪除數(shù)組全部元素后如果新增一個(gè)元素,它的默認(rèn)鍵名將延續(xù)之前數(shù)組的大鍵名遞增,要想從0開(kāi)始,可以使用array_values函數(shù)重置,如$arr=array_values($arr)。

提醒大家的是,PHP為數(shù)組的排序、查找、合并、拆分提供了大量函數(shù),用到這些基本算法時(shí),不用再去翻數(shù)據(jù)結(jié)構(gòu)課本了,呵呵……

這個(gè)專(zhuān)題主要把精力集中在PHP的基本語(yǔ)法上,通過(guò)與C的對(duì)比來(lái)加深理解,有很多細(xì)節(jié)問(wèn)題未深入討論。學(xué)習(xí)任何東西都是一個(gè)螺旋上升的過(guò)程,我們先瀏覽一下知識(shí)脈絡(luò),更多的需要在實(shí)踐中去體會(huì)。

下一個(gè)專(zhuān)題我們是不是研究一下PHP5的面向?qū)ο??你可能?huì)說(shuō)“我沒(méi)學(xué)過(guò)C++”,沒(méi)關(guān)系,這回我們不比較了,C++的面向?qū)ο蟾拍钍撬姓Z(yǔ)言中最復(fù)雜的,而PHP5的面向?qū)ο笥捎谑菑膶?shí)用出發(fā)所以比較簡(jiǎn)明,你不妨先學(xué)PHP5的面向?qū)ο?,理解面向?qū)ο蟮母拍?,然后再去啃C++的OOP吧。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

網(wǎng)頁(yè)名稱(chēng):php與C語(yǔ)言有什么區(qū)別-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://muchs.cn/article28/cshjcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、外貿(mào)網(wǎng)站建設(shè)、定制開(kāi)發(fā)建站公司、企業(yè)建站、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)