PHP基本語(yǔ)法大全4_第1頁(yè)
PHP基本語(yǔ)法大全4_第2頁(yè)
PHP基本語(yǔ)法大全4_第3頁(yè)
PHP基本語(yǔ)法大全4_第4頁(yè)
PHP基本語(yǔ)法大全4_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

/PHP基本語(yǔ)法詳解您無(wú)法在瀏覽器中通過(guò)查看源文檔的方式來(lái)查看PHP的源代碼-您只能看到PHP文件的輸出,即純粹的HTML。這是因?yàn)樵诮Y(jié)果返回瀏覽器之前,腳本就已經(jīng)在服務(wù)器執(zhí)行了。PHP標(biāo)記在之前的的例子中的PHP代碼是以“<?php”為開(kāi)始,“?>”為結(jié)束,這類(lèi)似于所有的HTML標(biāo)記,因?yàn)樗鼈兌际且孕∮谔?hào)為開(kāi)始,以大于號(hào)為結(jié)束的。這些符號(hào)就叫做PHP標(biāo)記。PHP標(biāo)記中有4中不同的風(fēng)格供我們使用*XML風(fēng)格<?php?>這是我們以后將使用的標(biāo)記風(fēng)格。他是PHP推薦使用的標(biāo)記風(fēng)格,服務(wù)器管理員不能禁用這種風(fēng)格的標(biāo)記,因此可以保證正在所有的服務(wù)器上使用這種風(fēng)格的標(biāo)記,特別是編寫(xiě)用于不同服務(wù)器環(huán)境的應(yīng)用程序時(shí),這種標(biāo)記風(fēng)格尤為重要。這種風(fēng)格的標(biāo)記可以在XML(可擴(kuò)展置標(biāo)語(yǔ)言)文檔中使用,如果打算在站點(diǎn)中使用XML,就必須使用這種風(fēng)格的標(biāo)記。*簡(jiǎn)短風(fēng)格<??>這種標(biāo)記風(fēng)格是最簡(jiǎn)單的,但要使用這種標(biāo)記字符,必須在配置文件中啟用short_open_tag選項(xiàng),或者啟用短標(biāo)記選項(xiàng)編譯PHP.我們不推薦使用這種標(biāo)記,因?yàn)殡m然該標(biāo)記風(fēng)格是當(dāng)前默認(rèn)啟用的,但是系統(tǒng)管理員偶爾會(huì)禁用它,它會(huì)干擾XML文檔的聲明。*SCRIPT風(fēng)格這種標(biāo)記風(fēng)格是最長(zhǎng)的,使用過(guò)javascript或vbscript的人就會(huì)熟悉這種風(fēng)格<scriptlanguage=“php”>

echo(“這是類(lèi)似

JavaScript

VBScript

語(yǔ)法的

PHP

語(yǔ)言嵌入范例,指定腳本語(yǔ)言的方式”);

</script>*ASP風(fēng)格這種標(biāo)記風(fēng)格和ASP或ASP.NET的標(biāo)記風(fēng)格相同。如果在配置文件中啟用了asp_tags選項(xiàng)就可以使用它<%echo(“ASP的風(fēng)格的標(biāo)記”);%>PHP輸出語(yǔ)句有兩種通過(guò)PHP來(lái)輸出文本的基礎(chǔ)指令:echo和print。在上面的例子中,我們使用了echo語(yǔ)句來(lái)輸出文本"HelloWorld"。PHP注釋對(duì)于閱讀代碼的人來(lái)說(shuō),注釋其實(shí)就相當(dāng)于代碼的解釋和說(shuō)明。注釋可以用來(lái)解釋腳本的用途,腳本編寫(xiě)人,為什么要按如此的方法編寫(xiě)代碼,上一次的修改時(shí)間等等,PHP支持C,C++和SHELL腳本風(fēng)格的注釋。單行注釋#或//多行注釋/**/注意:?jiǎn)涡凶⑨尶梢郧短自诙嘈凶⑨尷锸褂玫牡嵌嘈凶⑨屖菬o(wú)法在嵌套的

<?php

echo

"這是第一種例子。\n";

//

本例是

C++

語(yǔ)法的注釋

/*

本例采用多行的

注釋方式

*/

echo

"這是第兩種例子。\n";

echo

"這是第三種例子。\n";

#

本例使用

UNIX

Shell

語(yǔ)法注釋?>C風(fēng)格的注釋在碰到第一個(gè)*/時(shí)結(jié)束。小心不要嵌套C風(fēng)格的注釋?zhuān)?dāng)注釋大量代碼時(shí),可能犯該錯(cuò)誤。<?php

/*

echo

"This

is

a

test";

/*

This

comment

will

cause

a

problem

*/

*/

?>PHP數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型四種標(biāo)量類(lèi)型:boolean(布爾型):表達(dá)了真值,可以為T(mén)RUE或FALSE。要指定一個(gè)布爾值,使用關(guān)鍵字TRUE或FALSE。兩個(gè)都不區(qū)分大小寫(xiě)。<?php

$foo

=

True;

//

assign

the

value

TRUE

to

$foo

?>當(dāng)轉(zhuǎn)換為boolean時(shí),以下值被認(rèn)為是FALSE:布爾值FALSE整型值0(零)浮點(diǎn)型值0.0(零)空白字符串和字符串"0"沒(méi)有成員變量的數(shù)組特殊類(lèi)型NULL(包括尚未設(shè)定的變量)注意:-1和其它非零值(不論正負(fù))一樣,被認(rèn)為是TRUE!integer(整型)integer為整數(shù)型別。在32位的操作系統(tǒng)中,它的有效范圍是-2,147,483,648到+2,147,483,647(2^31+符號(hào)位)。要使用16進(jìn)位整數(shù)可以在面加0x。整型值可以用十進(jìn)制,十六進(jìn)制或八進(jìn)制符號(hào)指定,前面可以加上可選的符號(hào)(-或者+)。如果用八進(jìn)制符號(hào),數(shù)字前必須加上0(零),用十六進(jìn)制符號(hào)數(shù)字前必須加上0x。<?php

$a

=

1234;

//

十進(jìn)制數(shù)

$a

=

-123;

//

一個(gè)負(fù)數(shù)

$a

=

0123;

//

八進(jìn)制數(shù)(等于十進(jìn)制的

83)

$a

=

0x1A;

//

十六進(jìn)制數(shù)(等于十進(jìn)制的

26)

?>float(也叫浮點(diǎn)數(shù),雙精度數(shù)或?qū)崝?shù))浮點(diǎn)數(shù)為浮點(diǎn)數(shù)型別。在32位的操作系統(tǒng)中,它的有效范圍是1.7E-308到1.7E+308。(自然底數(shù)e=2.71828183)<?php

$a

=

1.234;

$a

=

1.2e3;

$a

=

7E-10;

?>string(字符串)即為字符串變量,無(wú)論是單一字符或數(shù)千字的字符串都是使用這個(gè)變量類(lèi)型。值得注意的是要指定字符串給字符串變量,要在頭尾加上雙引號(hào)(例如:"這是字符串")。在要讓字符串換行時(shí),可使用溢出字符,也就是反斜線加上指定的符號(hào),若是\x加上二位數(shù)字,如\xFE即表十六進(jìn)位字符,詳見(jiàn)下表:符號(hào)意義\"雙引號(hào)\\反斜線\n換行回車(chē)\r送出CR\t跳位(TAB)定義字符串時(shí),只有一種引號(hào)被視為定義符,即單引號(hào)或雙引號(hào)。于是,如果一個(gè)字符串由雙引號(hào)開(kāi)始,那么只有雙引號(hào)被分析器解析。這樣,你就可以在雙引號(hào)串中包含任何其他字符,甚至單引號(hào)。下面的引號(hào)串都是合法的:$s="I'mastudent";

$s='Iama“student”';當(dāng)PHP遇到與串的開(kāi)頭相對(duì)應(yīng)的引號(hào)時(shí),便認(rèn)為已經(jīng)到了字符串尾部,于是:

"Whydoesn't"this"work?"

實(shí)際上被PHP語(yǔ)法分析器分成三個(gè)部分:

"Whydoesn't"——包含一個(gè)單引號(hào)的雙引號(hào)串

this——多余的字符,分析器無(wú)法處理

"work?"——普通字符串

上面的這個(gè)例子企圖在雙引號(hào)串中包含雙引號(hào),而分析器在遇到第二個(gè)雙引號(hào)時(shí)便認(rèn)為字符串結(jié)束了。要達(dá)到包含引號(hào)的目的,必須分析器在遇到串內(nèi)普通引號(hào)的時(shí)候忽略它的原意,我們?cè)谝?hào)的前面加上一個(gè)反斜杠來(lái)告訴PHP:這個(gè)引號(hào)是字符串的一部分,正確的表示方法是這樣:

"Whydoesn't\"that\"work?"字串可以使用字串連接符(.)來(lái)連接,如:

$first_name='A';

$last_name='B';

$full_name=$first_name.''.$last_name;注意:<?$aa=5;echo$aa.‘test<br/>’;echo"$aatest<br/>";//在雙引號(hào)中,變量名稱(chēng)被變量值替代echo’$aatest<br/>’;;?>//在單引號(hào)中,變量名稱(chēng)或其他的文本都會(huì)不經(jīng)修改而發(fā)送給瀏覽器復(fù)合類(lèi)型:arrayobjectarray(數(shù)組)array為數(shù)組變量,可以是二維、三維或者多維數(shù)組,其中的元素也很自由,可以是string、integer或者double,甚至是array??梢杂胊rray()語(yǔ)言結(jié)構(gòu)來(lái)新建一個(gè)array。它接受一定數(shù)量用逗號(hào)分隔的key=>value參數(shù)對(duì)。key只能是整數(shù)和字符串$a

=

array(

1

=>

'one',

2

=>

'two',

3

=>

'three'

);$a

=

array(

'one','two',

'three'

);默認(rèn)下標(biāo)是從0開(kāi)始$MyArray1

=

array("a",

"b",

"c",

"d");//一維數(shù)組

$MyArray2

=

array(

"地支"

=>

array("子",

"丑",

"寅",

"卯"),

"生肖"

=>

array("鼠",

"牛",

"虎",

"兔"),

"數(shù)字"

=>

array(1,

2,

3,

4)

);//二維數(shù)組<?php

$arr

=

array(12

=>

true,"foo"

=>

"bar",

false);

echo

$arr["foo"];

//

bar

echo

$arr[12];

//

1

?>結(jié)果:bar1<?php$MyArray1=array("a","b","c","d");echo$MyArray1[1];print_r($MyArray1);?>結(jié)果:b(索引值從0開(kāi)始)數(shù)據(jù)類(lèi)型強(qiáng)制轉(zhuǎn)換: <?php

$foo

=

10;

//

$foo

is

an

integer

$bar

=

(bool)

$foo;

//

$bar

is

a

boolean

?>允許的強(qiáng)制轉(zhuǎn)換有:(int),(integer)-轉(zhuǎn)換成整型(bool),(boolean)-轉(zhuǎn)換成布爾型(float),(double),(real)-轉(zhuǎn)換成浮點(diǎn)型(string)-轉(zhuǎn)換成字符串(array)-轉(zhuǎn)換成數(shù)組(object)-轉(zhuǎn)換成對(duì)象強(qiáng)制類(lèi)型強(qiáng)制轉(zhuǎn)換(參考:PHP手冊(cè))PHP中的類(lèi)型強(qiáng)制轉(zhuǎn)換和C中的非常像:在要轉(zhuǎn)換的變量之前加上用括號(hào)括起來(lái)的目標(biāo)類(lèi)型。允許的強(qiáng)制轉(zhuǎn)換有:(int),(integer)

-轉(zhuǎn)換成整型(bool),(boolean)

-轉(zhuǎn)換成布爾型(float),(double),(real)

-轉(zhuǎn)換成浮點(diǎn)型(string)

-轉(zhuǎn)換成字符串(array)

-轉(zhuǎn)換成數(shù)組(object)

-轉(zhuǎn)換成對(duì)象注意在括號(hào)內(nèi)允許有空格和制表符

還可以用settype(mixedvar,stringtype)進(jìn)行強(qiáng)制轉(zhuǎn)換.

1.強(qiáng)制轉(zhuǎn)換為布爾值(bool)|(boolean)要明示地將一個(gè)值轉(zhuǎn)換成boolean,用(bool)或者(boolean)來(lái)強(qiáng)制轉(zhuǎn)換。但是很多情況下不需要用強(qiáng)制轉(zhuǎn)換,因?yàn)楫?dāng)運(yùn)算符,函數(shù)或者流程控制需要一個(gè)boolean參數(shù)時(shí),該值會(huì)被自動(dòng)轉(zhuǎn)換。

當(dāng)轉(zhuǎn)換為boolean時(shí),以下值被認(rèn)為是FALSE:

布爾值FALSE

整型值0(零)

浮點(diǎn)型值0.0(零)

空白字符串和字符串"0"

沒(méi)有成員變量的數(shù)組

沒(méi)有單元的對(duì)象(僅適用于PHP4)

特殊類(lèi)型NULL(包括尚未設(shè)定的變量)

所有其它值都被認(rèn)為是TRUE(包括任何資源)。?php

var_dump((bool)"");//bool(false)

var_dump((bool)1);//bool(true)

var_dump((bool)-2);//bool(true)

var_dump((bool)"foo");//bool(true)

var_dump((bool)2.3e5);//bool(true)

var_dump((bool)array(12));//bool(true)

var_dump((bool)array());//bool(false)

var_dump((bool)"false");//bool(true)

?>

2.強(qiáng)制轉(zhuǎn)換為整形(int)|(integer)

要明示地將一個(gè)值轉(zhuǎn)換為integer,用(int)或(integer)強(qiáng)制轉(zhuǎn)換。不過(guò)大多數(shù)情況下都不需要強(qiáng)制轉(zhuǎn)換,因?yàn)楫?dāng)運(yùn)算符,函數(shù)或流程控制需要一個(gè)integer參數(shù)時(shí),值會(huì)自動(dòng)轉(zhuǎn)換。還可以通過(guò)函數(shù)intval()來(lái)將一個(gè)值轉(zhuǎn)換成整型。

a.從bool轉(zhuǎn)換

b.從浮點(diǎn)數(shù)轉(zhuǎn)換

取整,超出范圍,結(jié)果不定

c.從字符串轉(zhuǎn)換

參看字符串轉(zhuǎn)換為數(shù)值

d.從其它類(lèi)型轉(zhuǎn)換

先換成bool值,再轉(zhuǎn)換決不要將未知的分?jǐn)?shù)強(qiáng)制轉(zhuǎn)換為integer,這樣有時(shí)會(huì)導(dǎo)致意外的結(jié)果。

<?php

echo(int)((0.1+0.7)*10);//顯示7

?>

$str="123.456abc7";

//(int)123

echo(int)$str;

$str="abc123.456";

//(int)0

$str=true;

//(int)1

$str=false;

//(int)0

3.強(qiáng)制轉(zhuǎn)換為浮點(diǎn)型(int)|(double)|(real)|doubleval()|floatval()|intval()

精度:0.12345678901234

//double,real都一樣

數(shù)據(jù)的丟失參字符串轉(zhuǎn)換為數(shù)值

4.強(qiáng)制換為字符串(string)|strval()

可以用(string)標(biāo)記或者strval()函數(shù)將一個(gè)值轉(zhuǎn)換為字符串。當(dāng)某表達(dá)式需要字符串時(shí),字符串的轉(zhuǎn)換會(huì)在表達(dá)式范圍內(nèi)自動(dòng)完成。例如當(dāng)使用echo()或者print()函數(shù)時(shí),或者將一個(gè)變量值與一個(gè)字符串進(jìn)行比較的時(shí)候。布爾值TRUE將被轉(zhuǎn)換為字符串"1",而值FALSE將被表示為""(即空字符串)。這樣就可以隨意地在布爾值和字符串之間進(jìn)行比較。整數(shù)或浮點(diǎn)數(shù)數(shù)值在轉(zhuǎn)換成字符串時(shí),字符串由表示這些數(shù)值的數(shù)字字符組成(浮點(diǎn)數(shù)還包含有指數(shù)部分)。數(shù)組將被轉(zhuǎn)換成字符串"Array",因此無(wú)法通過(guò)echo()或者print()函數(shù)來(lái)輸出數(shù)組的內(nèi)容。請(qǐng)參考下文以獲取更多提示。對(duì)象將被轉(zhuǎn)換成字符串"Object"。如果因?yàn)檎{(diào)試需要,需要將對(duì)象的成員變量打印出來(lái),請(qǐng)閱讀下文。如果希望得到該對(duì)象所依附的類(lèi)的名稱(chēng),請(qǐng)使用函數(shù)get_class()。自PHP5起,如果合適可以用__toString()方法。資源類(lèi)型總是以"Resourceid#1"的格式被轉(zhuǎn)換成字符串,其中1是PHP在運(yùn)行時(shí)給資源指定的唯一標(biāo)識(shí)。如果希望獲取資源的類(lèi)型,請(qǐng)使用函數(shù)get_resource_type()。NULL將被轉(zhuǎn)換成空字符串。正如以上所示,將數(shù)組、對(duì)象或者資源打印出來(lái),并不能提供任何關(guān)于這些值本身的有用的信息。請(qǐng)參閱函數(shù)print_r()和var_dump(),對(duì)于調(diào)試來(lái)說(shuō),這些是更好的打印值的方法。

可以將PHP的值轉(zhuǎn)換為字符串以永久地儲(chǔ)存它們。這種方法被稱(chēng)為序列化,可以用函數(shù)serialize()來(lái)完成該操作。如果在安裝PHP時(shí)建立了WDDX支持,還可以將PHP的值序列化為XML結(jié)構(gòu)。

4.強(qiáng)制轉(zhuǎn)換為數(shù)組(array)對(duì)于任何的類(lèi)型:整型、浮點(diǎn)、字符串、布爾和資源,如果將一個(gè)值轉(zhuǎn)換為數(shù)組,將得到一個(gè)僅有一個(gè)元素的數(shù)組(其下標(biāo)為0),該元素即為此標(biāo)量的值。如果將一個(gè)對(duì)象轉(zhuǎn)換成一個(gè)數(shù)組,所得到的數(shù)組的元素為該對(duì)象的屬性(成員變量),其鍵名為成員變量名。如果將一個(gè)NULL值轉(zhuǎn)換成數(shù)組,將得到一個(gè)空數(shù)組。

5.轉(zhuǎn)換為對(duì)象(object)

如果將一個(gè)對(duì)象轉(zhuǎn)換成對(duì)象,它將不會(huì)有任何變化。如果其它任何類(lèi)型的值被轉(zhuǎn)換成對(duì)象,內(nèi)置類(lèi)stdClass的一個(gè)實(shí)例將被建立。如果該值為NULL,則新的實(shí)例為空。數(shù)組轉(zhuǎn)換成對(duì)象將使鍵名成為屬性名并具有相對(duì)應(yīng)的值。對(duì)于任何其它的值,名為scalar的成員變量將包含該值

6.轉(zhuǎn)換為資源(無(wú)法轉(zhuǎn)換)

由于資源類(lèi)型變量保存有為打開(kāi)文件、數(shù)據(jù)庫(kù)連接、圖形畫(huà)布區(qū)域等的特殊句柄,因此無(wú)法將其它類(lèi)型的值轉(zhuǎn)換為資源。

■PHP類(lèi)型比較表(看手冊(cè)附錄P)

以下的表格顯示了PHP類(lèi)型和比較運(yùn)算符在松散和嚴(yán)格比較時(shí)的作用。該補(bǔ)充材料還和類(lèi)型戲法的相關(guān)章節(jié)內(nèi)容有關(guān)。注意HTML表單并不傳遞整數(shù)、浮點(diǎn)數(shù)或者布爾值,它們只傳遞字符串。要想檢測(cè)一個(gè)字符串是不是數(shù)字,可以使用is_numeric()函數(shù)。在沒(méi)有定義變量$x的時(shí)候,諸如if($x)的用法會(huì)導(dǎo)致一個(gè)E_NOTICE級(jí)別的錯(cuò)誤。所以,可以考慮用empty()或者isset()函數(shù)來(lái)初始化變量。PHP常量 常量:合法的常量名以字母(由大寫(xiě)字母組成和C語(yǔ)言一樣)或下劃線開(kāi)始,后面跟著任何字母,數(shù)字或下劃線。常量和變量不同:常量前面沒(méi)有美元符號(hào)($);常量只能用define()函數(shù)定義,而不能通過(guò)賦值語(yǔ)句;常量可以不用理會(huì)變量范圍的規(guī)則而在任何地方定義和訪問(wèn);常量一旦定義就不能被重新定義或者取消定義;常量只能包含標(biāo)量數(shù)據(jù)(boolean,integer,float和string)。常量的范圍是全局的。不用管作用域就可以在腳本的任何地方訪問(wèn)常量define()的功能可以讓我們自行定義所需要的常量。見(jiàn)下例<?php

define("CONSTANT",

"Hello

world.");

echo

CONSTANT;

//

outputs

"Hello

world."echo

Constant;

//

outputs

"Constant"

and

issues

a

notice.

?>PHP變量變量: 變量用一個(gè)美元符號(hào)($)后面跟變量名來(lái)表示。變量名是區(qū)分大小寫(xiě)的。一個(gè)有效的變量名由字母或者下劃線開(kāi)頭,后面跟上任意數(shù)量的字母,數(shù)字或下劃線。PHP是一門(mén)松散類(lèi)型的語(yǔ)言(LooselyTypedLanguage)在PHP中,不需要在設(shè)置變量之前聲明該變量。在上面的例子中,您看到了,不必向PHP聲明該變量的數(shù)據(jù)類(lèi)型。根據(jù)變量被設(shè)置的方式,PHP會(huì)自動(dòng)地把變量轉(zhuǎn)換為正確的數(shù)據(jù)類(lèi)型。在強(qiáng)類(lèi)型的編程語(yǔ)言中,您必須在使用前聲明變量的類(lèi)型和名稱(chēng)。在PHP中,變量會(huì)在使用時(shí)被自動(dòng)聲明??勺冏兞?variablevariable): <?php$a='name'; $$a='張三';?>這個(gè)代碼等價(jià)于:$name=張三;<?php

$a

=

"Hello";

$$a

=

"world";

echo

"$a,

$hello";

//

Hello,

world

echo

"$a,

{$a}";

//

也是

Hello,

world

?>變量范圍(作用域): 作用域是指在一個(gè)腳本中某個(gè)變量在哪些地方可以使用或可見(jiàn)。 全局變量(globalvariable):<?php$a

=

1;$b

=

2;function

Sum(){global

$a,

$b;$b

=

$a

+

$b;}Sum();echo

$b;?>輸出是’3 局部變量(localvariable):任何用于函數(shù)內(nèi)部的變量將被限制在局部函數(shù)范圍內(nèi)。<?php$a

=

1;

/*

global

scope

*/function

Test(){ ($a=2;)

echo

$a;

/*

reference

to

local

scope

variable

*/}Test();?>什么也不輸出靜態(tài)變量(staticvariable):在函數(shù)退出時(shí),這個(gè)變量始終存在,不被銷(xiāo)毀,但不能被其它函數(shù)使用,當(dāng)再次進(jìn)入該函數(shù)時(shí),將保存上次的結(jié)果。<?php

//

靜態(tài)變量的例子

function

myfunc()

{

static

$mystr;

$mystr.="哈";

echo

$mystr."<br>\n";

}

myfunc();

//

myfunc();

//

哈哈

myfunc();

//

哈哈哈

?>PHP運(yùn)算符使用操作符:操作符是用來(lái)對(duì)數(shù)值和變量進(jìn)行某種操作運(yùn)算的符號(hào)。學(xué)過(guò)的兩個(gè)操作符:賦值操作符(=)和字符串連接操作符(.)。算數(shù)操作符:例子名稱(chēng)結(jié)果-$a取反$a的負(fù)值。$a+$b加法$a和$b的和。$a-$b減法$a和$b的差。$a*$b乘法$a和$b的積。$a/$b除法$a除以$b的商。$a%$b取余數(shù)$a除以$b的余數(shù)。(“/”)總是返回浮點(diǎn)數(shù),即使兩個(gè)運(yùn)算數(shù)是整數(shù)(或由字符串轉(zhuǎn)換成的整數(shù))也是這樣。注:取模$a%$b在$a為負(fù)值時(shí)的結(jié)果也是負(fù)值。<?php

$a

=

8;

$b

=

2;

$c

=

3;

echo

$a+$b."<br>\n";echo

$a-$b."<br>\n";echo

$a*$b."<br>\n";echo

$a/$b."<br>\n";echo

$a%$c."<br>\n";?> 注意:(*)作為乘法操作符,而不是常規(guī)的乘法符號(hào)。除法操作符同理。字符串運(yùn)算符:有兩個(gè)字符串運(yùn)算符。第一個(gè)是連接運(yùn)算符(“.”),它返回其左右參數(shù)連接后的字符串。第二個(gè)是連接賦值運(yùn)算符(“.=”),它將右邊參數(shù)附加到左邊的參數(shù)后。<?php

$a

=

"Hello

";

$b

=

$a

.

"World!";

//

now

$b

contains

"Hello

World!"

$a

=

"Hello

";

$a

.=

"World!";

//

now

$a

contains

"Hello

World!"

?>賦值運(yùn)算符:基本的賦值運(yùn)算符是“=”。一開(kāi)始可能會(huì)以為它是“等于”,其實(shí)不是的。它實(shí)際上意味著把右邊表達(dá)式的值賦給左邊的運(yùn)算數(shù)。賦值運(yùn)算表達(dá)式的值也就是所賦的值。也就是說(shuō),“$a=3”<?php

$a

=

($b

=

4)

+

5;

//

$a

現(xiàn)在成了

9,而

$b

成了

4。

?>括號(hào)提高子表達(dá)式的優(yōu)先級(jí)復(fù)合賦值操作符:增加程序的執(zhí)行效率。符號(hào)使用方法等價(jià)于意義=$a=$b$a=$b將右邊的值連到左邊+=$a+=$b$a=$a+$b將右邊的值加到左邊-=$a-=$b$a=$a-$b將右邊的值減到左邊*=$a*=$b$a=$a*$b將左邊的值乘以右邊/=$a/=$b$a=$a/$b將左邊的值除以右邊%=$a%=$b$a=$a%$b將左邊的值對(duì)右邊取余數(shù).=$a.=$b$a=$a.$b將右邊的字符串加到左邊<?php

$a

=

5;

$a

+=

2;

//

$a

=

$a

+

2;

echo

$a."<br>\n";

$b

=

"哇";

$b

.=

"哈";

//

$b

=

"哇哈";

$b

.=

"哈";

//

$b

=

"哇哈哈";

echo

"$b<br>\n";

?>遞增/遞減運(yùn)算符: 注:遞增/遞減運(yùn)算符不影響布爾值。遞減NULL值也沒(méi)有效果,但是遞增NULL的結(jié)果是1。注意字符變量只能遞增,不能遞減。例子名稱(chēng)效果++$a前加$a的值加一,然后返回$a。$a++后加返回$a,然后將$a的值加一。--$a前減$a的值減一,然后返回$a。$a--后減返回$a,然后將$a的值減一。<?phpecho

"**********";

$a

=

5;

echo

"a++"

.

$a++

.

"<br

/>\n";

echo

"a

"

.

$a

.

"<br

/>\n";

echo

"**********";

$a

=

5;

echo

"++a"

.

++$a

.

"<br

/>\n";

echo

"a"

.

$a

.

"<br

/>\n";

echo

"**********";

$a

=

5;

echo

"a--"

.

$a--

.

"<br

/>\n";

echo

"a"

.

$a

.

"<br

/>\n";

echo

"**********";

$a

=

5;

echo

"--a"

.

--$a

.

"<br

/>\n";

echo

"a"

.

$a

.

"<br

/>\n";

?>比較運(yùn)算符:比較兩個(gè)值。根據(jù)比較結(jié)果返回:true或false。 例子名稱(chēng)結(jié)果$a==$b等于TRUE,如果$a等于$b。$a!=$b不等TRUE,如果$a不等于$b。$a<>$b不等TRUE,如果$a不等于$b。$a<$b小與TRUE,如果$a嚴(yán)格小于$b。$a>$b大于TRUE,如果$a嚴(yán)格$b。$a<=$b小于等于TRUE,如果$a小于或者等于$b。$a>=$b大于等于TRUE,如果$a大于或者等于$b。邏輯運(yùn)算符:例子名稱(chēng)結(jié)果$aand$bAnd(邏輯與)TRUE,如果$a與$b都為T(mén)RUE。$aor$bOr(邏輯或)TRUE,如果$a或$b任一為T(mén)RUE。$axor$bXor(邏輯異或)TRUE,如果$a或$b任一為T(mén)RUE,但不同時(shí)是。!$aNot(邏輯非)TRUE,如果$a不為T(mén)RUE。$a&&$bAnd(邏輯與)TRUE,如果$a與$b都為T(mén)RUE。$a||$bOr(邏輯或)TRUE,如果$a或$b任一為T(mén)RUE?!芭c”和“或”有兩種不同形式運(yùn)算符的原因是它們運(yùn)算的優(yōu)先級(jí)不同<?$a=0;$b=1;if($aand$b){ echo"真";}else{ echo"假";}?><?$a="0";$b="1";if($aand$b){ echo"真";}else{ echo"假";}?>PHP語(yǔ)句條件判斷語(yǔ)句: 第一種是只有用到if條件,當(dāng)作單純的判斷。解釋成"若發(fā)生了某事則怎樣處理"。if(expr){statement}其中的expr為判斷的條件,通常都是用邏輯運(yùn)算符號(hào)(logicaloperators)當(dāng)判斷的條件。而statement為符合條件的執(zhí)行部分程序,若程序只有一行,可以省略大括號(hào){}。范例:本例省略大括號(hào)。<?php

if

(1==1)

echo

"1等于1";

?>范例:本例的執(zhí)行部分有三行,不可省略大括號(hào)。<?php

if

(1==1)

{

echo

"1等于1";

echo

"1就等于1";

}

?>第兩種是除了if之外,加上了else的條件,可解釋成"若發(fā)生了某事則怎樣處理,否則該如何解決"。范例:上面的例子來(lái)修改成更完整的處理。其中的else由于只有一行執(zhí)行的指令,因此不用加上大括號(hào)。<?php

$a="1";$b="2";if($a==$b){ echo"a等于b";}else{ echo"a不等于b";}

?>如果當(dāng)前日期是周五,下面的代碼將輸出"周末愉快!",否則會(huì)輸出"美好的一天!":<html><body><?php$d=date("D");if($d=="Fri")echo"周末愉快!";elseecho"美好的一天!";?></body></html>如果需要在條件成立或不成立時(shí)執(zhí)行多行代碼,應(yīng)該把這些代碼行包括在花括號(hào)中:<html><body><?php$d=date("D");if($d=="Fri"){echo"Hello!<br/>";echo"周末愉快!";echo"星期一見(jiàn)!";}?></body></html>第三種就是遞歸的if..else循環(huán),通常用在多種決策判斷時(shí)。它將數(shù)個(gè)if..else拿來(lái)合并運(yùn)用處理。直接看下面的例子<?php

if

($a

>

$b)

{

echo

"a

b

大";

}

elseif

($a

==

$b)

{

echo

"a

等于

b";

}

else

{

echo

"a

b

小";

}

?>上例只用二層的if..else循環(huán),用來(lái)比較a和b兩個(gè)變量。實(shí)際要使用這種遞歸if..else循環(huán)時(shí),請(qǐng)小心使用,因?yàn)樘鄬拥难h(huán)容易使設(shè)計(jì)的邏輯出問(wèn)題,或者少打了大括號(hào)等,都會(huì)造成程序出現(xiàn)莫名其妙的問(wèn)題。如果當(dāng)前日期是周五,下面的例子會(huì)輸出"周末愉快!",如果是周日,則輸出"星期天愉快!",否則輸出"美好的一天!":<html><body><?php$d=date("D");if($d=="Fri")echo"周末愉快!";elseif($d=="Sun")echo"星期天愉快!";elseecho"美好的一天!";?></body></html>do..while是重復(fù)敘述的循環(huán),可以分成兩種模式。最單純的就是只有while的循環(huán)。用來(lái)在指定的條件內(nèi),不斷地重覆指定的步驟。語(yǔ)法如下while(expr){statement}其中的expr為判斷的條件,通常都是用邏輯運(yùn)算符號(hào)(logicaloperators)當(dāng)判斷的條件。而statement為符合條件的執(zhí)行部分程序,若程序只有一行,可以省略大括號(hào){}。下例很有趣,要電腦的瀏覽器出現(xiàn)十次"以后不敢了"的字符串,前面并加上數(shù)字,表示說(shuō)了第幾次不敢了。(感覺(jué)好像是WebServer做錯(cuò)事被處罰)<?php

$i

=

1;

while

($i

<=

10)

{

print

$i++;

echo

".

以后不敢了<br>\n";

}

?>while可以不用大括號(hào)來(lái)包住執(zhí)行部分,而使用冒號(hào)加上endwhile。見(jiàn)下例<?php

$i

=

1;

while

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論